Implantable medical devices storing graphics processing data

ABSTRACT

In one example, a device includes a telemetry module configured to retrieve graphics processing data from a device that is not configured to perform a rendering process using the graphics processing data and that is associated with delivering therapy to a therapy target of a patient, and a control unit configured to apply the graphics processing data while performing the rendering process to generate an image of an anatomical feature of the patient, wherein the anatomical feature comprises the therapy target for an implantable medical device, and to cause a display unit of a user interface to display the image, wherein the image of the anatomical feature is specific to the patient. The graphics processing data may include a list of vertices or a transform to be applied to a non-patient-specific anatomical atlas. The data may also include a location of a therapy element of the implantable medical device.

This application is a divisional of U.S. patent application Ser. No.13/086,991, filed Apr. 14, 2011, the entire contents of which are herebyincorporated by reference.

TECHNICAL FIELD

This disclosure relates to implantable medical devices (IMDs), and, moreparticularly, to processing of images used in conjunction with IMDs.

BACKGROUND

A variety of implantable medical devices (IMDs) are used for chronic,i.e., long-term, delivery of therapy or diagnostic monitoring topatients suffering from a variety of conditions, such as cardiacdysfunction, chronic pain, tremor, Parkinson's disease, epilepsy,urinary or fecal incontinence, sexual dysfunction, obesity, spasticity,or gastroparesis. As examples, electrical stimulation generators areused for chronic delivery of electrical stimulation therapies such ascardiac pacing, cardiac cardioversion/defibrillation, neurostimulation,muscle stimulation, or the like. Pumps or other fluid delivery devicesmay be used for chronic delivery of therapeutic fluids, such as drugs,proteins, growth factors, pain relief agents or genetic agents.Typically, such devices provide therapy continuously or periodicallyaccording to parameters contained within a program. A program maycomprise respective values for each of a plurality of parameters,specified by a clinician. The devices may receive the program from aprogrammer controlled by the clinician.

Examples of such implantable medical devices include implantable fluiddelivery devices, implantable neurostimulators, implantablecardioverters, implantable cardiac pacemakers, implantablecardioverter-defibrillators, and cochlear implants. Typically, suchdevices are implanted in a patient to deliver therapy to or measure asignal from a target site within the patient under specified conditionson a recurring basis.

For example, an implantable fluid delivery device may be implanted at alocation in the body of a patient and deliver a fluid medication througha catheter to a selected delivery site in the body. Similarly, animplantable electrical stimulator can be implanted to deliver electricalstimulation therapy to a patient at a selected site. For example, animplantable electrical stimulator delivers electrical therapy to atarget tissue site within a patient with the aid of one or more medicalleads that include electrodes. An electrical stimulator may delivertherapy to a patient via selected combinations of electrodes.

Precise placement of a lead or catheter, or at least knowledge ofpositioning of the lead or catheter, may be helpful in programming anddelivering therapy. As one example, knowledge of the positions ofelectrodes carried by one or more leads may be helpful in formulatingefficacious therapy, both upon implantation and over the course oftherapy following implantation. As another example, the position of thedistal outlet of a catheter may be helpful in determining proximity to atherapeutic target, both upon implantation and over the course oftherapy following implantation. Knowledge of the location of a deviceelement may further aid in the interpretation of sensed physiologicdata.

SUMMARY

In general, this disclosure describes techniques for storing data forreproducing an image of an anatomical feature of a patient. Thetechniques of this disclosure are directed to producing apatient-specific image, that is, an image of the anatomical feature ofthe patient as it exists within the patient. The image may include arepresentation of a therapy element, such as a lead or a catheter, atthe location of the anatomical feature at which the therapy element isimplanted.

Rather than storing image data itself (or an encoded representation ofthe image data), the techniques of this disclosure are directed tostoring graphics processing data that can be applied during a renderingprocess to reproduce the image. In this manner, a clinician may view thedetails of the anatomical feature specific to the patient, as well asthe location of the therapy element within the patient relative to theanatomical feature, to monitor and/or adjust the therapy delivered by animplantable medical device coupled to the therapy element.

In one example, an implantable medical device includes a memoryconfigured to store data for a program of the implantable medicaldevice, a therapy unit configured to perform at least one of delivery oftherapy and sensing of a physiological signal at a therapy target of ananatomical feature of a patient, and an interface configured to receivethe data for the program and to store the data for the program to thememory, wherein the interface is further configured to receive graphicsprocessing data comprising data that, when applied during a renderingprocess, produces an image of the anatomical feature of the patient,wherein the implantable medical device is not configured to perform therendering process using the graphics processing data.

In another example, a method includes retrieving graphics processingdata from a device that is not configured to perform a rendering processusing the graphics processing data, wherein the device is associatedwith at least one of delivering therapy and sensing a physiologicalsignal at a therapy target of a patient, applying the graphicsprocessing data while performing the rendering process to generate animage of an anatomical feature of the patient, wherein the anatomicalfeature comprises the therapy target for an implantable medical device,and displaying the image, wherein the image of the anatomical feature isspecific to the patient.

In another example, a device includes a telemetry module configured toretrieve graphics processing data from a device that is not configuredto perform a rendering process using the graphics processing data andthat is associated with at least one of delivering therapy and sensing aphysiological signal at to a therapy target of a patient, and a controlunit configured to apply the graphics processing data while performingthe rendering process to generate an image of an anatomical feature ofthe patient, wherein the anatomical feature comprises the therapy targetfor an implantable medical device, and to cause a display unit of a userinterface to display the image, wherein the image of the anatomicalfeature is specific to the patient.

In another example, a computer-readable medium, such as acomputer-readable storage medium, contains, e.g., is encoded with,instructions that, when executed, cause a processor to retrieve graphicsprocessing data from a device that is not configured to perform arendering process using the graphics processing data, wherein the deviceis associated with at least one of delivering therapy and sensing aphysiological signal at a therapy target of a patient, apply thegraphics processing data while performing the rendering process togenerate an image of an anatomical feature of the patient, wherein theanatomical feature comprises the therapy target for an implantablemedical device, and cause a display unit comprising a user interface todisplay the image, wherein the image of the anatomical feature isspecific to the patient.

In another example, a system includes an implantable medical device andan image manipulation device. The implantable medical device includes amemory that stores graphics processing data, wherein the implantablemedical device is configured to at least one of deliver therapy andsense a physiological signal at a therapy target of a patient, andwherein the implantable medical device is not configured to perform arendering process using the graphics processing data. The imagemanipulation device is configured to retrieve the graphics processingdata from the memory of the implantable medical device, and to performthe rendering process, to apply the graphics processing data whileperforming the rendering process to generate an image of an anatomicalfeature of the patient, wherein the anatomical feature comprises thetherapy target for the implantable medical device, and to cause a userinterface of a display unit to display the image, wherein the image ofthe anatomical feature is specific to the patient.

In another example, a method includes obtaining informationrepresentative of an anatomical feature of a patient, wherein theanatomical feature comprises a therapy target for an implantable medicaldevice, determining graphics processing data based on the obtainedinformation, wherein the graphics processing data comprises data that,when applied during a rendering process, produces an image of theanatomical feature of the patient, and storing the graphics processingdata to a device that is not configured to perform the rendering processusing the graphics processing data, wherein the device is associatedwith at least one of delivering therapy and sensing a physiologicalsignal at the therapy target of the patient.

In another example, a device includes an interface configured to obtaininformation representative of an anatomical feature of a patient,wherein the anatomical feature comprises a therapy target for animplantable medical device, and a control unit configured to determinegraphics processing data based on the obtained information, wherein thegraphics processing data comprises data that, when applied during arendering process, produces an image of the anatomical feature of thepatient, and store the graphics processing data to a device that is notconfigured to perform the rendering process using the graphicsprocessing data, wherein the device is associated with at least one ofdelivering therapy and sensing a physiological signal at the therapytarget of the patient.

In another example, a computer-readable medium includes instructionsthat, when executed, cause a processor to obtain informationrepresentative of an anatomical feature of a patient, wherein theanatomical feature comprises a therapy target for an implantable medicaldevice, determine graphics processing data based on the obtainedinformation, wherein the graphics processing data comprises data that,when applied during a rendering process, produces an image of theanatomical feature of the patient, and store the graphics processingdata to a device that is not configured to perform the rendering processusing the graphics processing data, wherein the device is associatedwith at least one of delivering therapy and sensing a physiologicalsignal at the therapy target of the patient.

In another example, an implantable medical device includes a therapyunit configured to perform at least one of delivery of a therapy andmeasurement of physiologic signals at a therapy target of an anatomicalfeature of a patient, and a memory comprising stored data for a programof the implantable medical device and graphics processing data, whereinthe graphics processing data comprises data that, when applied during arendering process, produces an image of the anatomical feature of thepatient, wherein the implantable medical device is not configured toperform the rendering process using the graphics processing data.

The details of one or more examples are set forth in the accompanyingdrawings and the description below. Other features, objects, andadvantages will be apparent from the description and drawings, and fromthe claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a conceptual diagram illustrating an example therapy systemthat delivers therapy to manage a patient condition.

FIG. 2 is a functional block diagram illustrating components of anexample implantable medical device (IMD).

FIGS. 3A and 3B are schematic illustrations of an example lead andgroups of electrodes that may be used with an IMD.

FIG. 3C is a schematic illustration of another example lead andelectrodes that may be used with an IMD.

FIG. 4 is a conceptual block diagram of an example external medicaldevice programmer.

FIG. 5 is a block diagram illustrating an example system in which animage manipulation device stores graphics processing data to devicesassociated with delivering therapy to a patient.

FIGS. 6A-6C are block diagrams illustrating various exampleconfigurations of components of image manipulation devices.

FIG. 7 is a flowchart illustrating an example method for storinggraphics processing data to a device associated with delivering therapyto a patient.

FIG. 8 is a flowchart illustrating an example method for creating andstoring a list of vertices of graphics primitives to a device associatedwith delivering therapy to a patient.

FIG. 9 is a flowchart illustrating an example method for creating andstoring one or more transforms to a device associated with deliveringtherapy to a patient.

FIG. 10 is a flowchart illustrating an example method for retrievinggraphics processing data from a device associated with deliveringtherapy to a patient and applying the graphics processing data during arendering process to produce an image of an anatomical feature of thepatient.

FIG. 11 is a flowchart illustrating an example method for retrieving andrendering a list of vertices of graphics primitives stored by a deviceassociated with delivering therapy to a patient to produce an image ofan anatomical feature of the patient.

FIG. 12 is a flowchart illustrating an example method for retrieving oneor more transforms stored by a device associated with delivering therapyto a patient and applying the matrices to warp an anatomical atlas foran anatomical feature of the patient to produce a patient-specific imageof the anatomical feature.

FIG. 13 is a conceptual diagram illustrating an example graphical userinterface displaying an example patient-specific image of an anatomicalfeature of a patient.

DETAILED DESCRIPTION

This disclosure describes techniques for producing a patient-specificimage, that is, an image of an anatomical feature of the patient as theanatomical feature exists within the patient. The image may include arepresentation of a therapy element, such as a lead, a leadlessstimulator, or a catheter, at the location of the anatomical feature atwhich the therapy element is implanted. Rather than storing image dataitself (or an encoded representation of the image data), the techniquesof this disclosure are directed to storing graphics processing data thatcan be applied during a rendering process to produce the image.

The phrase “graphics processing data” as used in this disclosure refersto data that is rendered or applied during a rendering process. The term“render” is intended to refer to the process of producing pixel data,which is to be displayed as a two-dimensional image, or a set of imagesarranged so as to create a three dimensional effect, by a display devicesuch as a computer monitor, from graphics objects, which may comprisetwo-dimensional or three-dimensional graphics objects. Graphics objectsinclude graphics primitives, such as points, lines, triangles,rectangles, and other polygons, as well as structures made up ofmultiple primitives, such as, for example, three-dimensional meshes.

The rendering process is performed to generate pixel data, such asvalues for red-green-blue triplet values for each pixel of an image,from the graphics objects. In this manner, the rendering processreferred to by this disclosure is distinct from, for example, decodingan encoded representation of an image, such as decoding a JointPhotographic Experts Group (JPEG) encoded image. That is, whereasdecoding an encoded image generally includes decoding encoded pixel dataor other data generally representative of pixels of an image, arendering process generally includes generating pixel data from ahigher-order representation of data, such as two- or three-dimensionalgraphics objects (e.g., graphics primitives), which may, in someexamples, further take into account camera viewpoint, lighting effects,and other such factors. Though portions of the image actually displayedfollowing the rendering process may result from decoding an encodedimage, at least some portion of the displayed image is generated fromgraphics processing data, e.g., by applying the graphics processing dataduring a rendering process, in accordance with the techniques of thisdisclosure.

The techniques of this disclosure may include generating athree-dimensional model of an anatomical feature, including a therapytarget, for a patient. The model of the anatomical feature may bepatient-specific. For example, an image manipulation device may receivedata from an imaging device, such as a magnetic resonance imaging (MRI)machine, a computed tomography (CT) machine, a fluoroscopic imagingmachine, or an ultrasound imaging machine, that captures images of theanatomical feature of the patient. The image manipulation device maythen construct a patient-specific model of the anatomical feature of thepatient. The images used to construct the model may be captured afterimplanting an implantable medical device in the patient, such that theimages include a representation of a lead or catheter (generallyreferred to herein as a “therapy element”) of the implantable medicaldevice at the anatomical feature.

In particular, the techniques of this disclosure are directed to storingand retrieving graphics processing data to and from devices associatedwith delivering therapy to patients, but that are not themselvesconfigured to perform the rendering process using the graphicsprocessing data. In some examples, these techniques include storing thegraphics processing data to an implantable medical device. In someexamples, these techniques include storing the graphics processing datato a patient programmer associated with the implantable medical device.In each case, the device may store graphics processing data for use by adifferent device, such as a clinician programmer or other computingdevice.

The graphics processing data, as noted above, may be applied during arendering process to generate an image of the patient-specificanatomical feature of the patient. In some examples, a three-dimensionalmesh of the anatomical feature of the patient is created. Thethree-dimensional mesh may be constructed from a plurality of graphicsprimitives, e.g., triangles. Graphics primitives are typically definedusing a list of vertices. For example, a triangle graphics primitive isdefined using three vertices. Accordingly, the graphics processing datamay comprise a list of vertices for graphics primitives corresponding tothe three-dimensional mesh. The list of vertices may also be referred toas a “vertex array.” Accordingly, applying the graphics processing dataduring the rendering process may include rendering a graphics objectdefined by the graphics processing data, in some examples.

In some examples, the graphics processing data may include one or moretransforms, also referred to as “transform functions” or “transformmatrices.” Transforms can be applied to a model (such as an anatomicalatlas) to manipulate the model, e.g., to translate the model (e.g., movevertices of the model along a specified vector), rotate the model (e.g.,rotate vertices of the model about a vector), or scale the model (e.g.,increase or decrease distance between vertices of the model to changethe size of the model along one or more axes). In these examples, apatient-specific model may be compared to an anatomical atlas. Theanatomical atlas model may define a general (non-patient-specific) modelof the anatomical feature, e.g., representative of a median for ageneral population of patients. The techniques of this disclosureinclude calculating one or more transforms that, when applied to theanatomical atlas model, yield a model that substantially conforms to thepatient-specific model of the anatomical feature. In this manner, thetransforms may be used to represent differences between thepatient-specific model and the anatomical atlas model. The transformsmay be applied during the rendering process. That is, the anatomicalatlas model may be transformed by the one or more transforms to producea model, which is rendered to produce a patient-specific image of theanatomical feature of the patient. In this manner, applying the graphicsprocessing data during the rendering process may include transforming ananatomical model using transforms defined by the graphics processingdata, in some examples.

It is not uncommon for patients to visit various clinical care centersduring treatment. Even when a patient returns to the same care center,the care center may include a variety of different clinician programmerdevices, or other general computing devices, which may be spread acrosslocations or users. By storing the graphics processing data to a deviceassociated with delivering therapy to a patient, the techniques of thisdisclosure may ensure that a clinician is able to view an image of ananatomical feature of the patient, so long as the patient is near theclinician. For example, the clinician may use a clinician programmer(also referred to as a physician programmer) or other computing deviceto retrieve the graphics processing data from the device associated withdelivering therapy to a patient, e.g., an implantable medical device ora patient programmer device. After the clinician programmer retrievesthe graphics processing data, the clinician programmer may perform therendering process, applying the graphics processing data during therendering process, to produce a patient-specific image of the anatomicalfeature of the patient being treated by the implantable medical device.Accordingly, the clinician may then have access to a patient-specificimage, which may more accurately reflect the patient's physiology than amore general anatomical atlas.

Moreover, the graphics processing data may consume less memory thanstored image data itself, or even an encoded representation of the imagedata. For example, stored image data for a head scan MRI may consume20-30 Mbytes of data of data. Higher resolution scans or scans of largerbody areas can increase storage size significantly. On the other hand, astored list of vertices, in accordance with the techniques of thisdisclosure, may consume approximately 45 kilobytes of data, assuming arelatively high polygon count of 650 triangles defined by 1950 vertices.This data could be optimized, e.g., by reducing the precision of thevertices, to produce a list of vertices consuming only tens ofkilobytes. Likewise, a stored transform may consume only tens ofhundreds of bytes of data. Even storing multiple transforms, e.g.,individual transforms per brain hemisphere or even per anatomicalstructure, may yield data of less than a full kilobyte. Accordingly, thetechniques of this disclosure may provide advantages in terms of theamount of data stored by an implantable medical device and/or patientprogrammer device. Because the graphics processing data can berepresented using a lower amount of data, the time required to downloadthe graphics processing data to an implantable medical device, e.g., viawireless telemetry, may be significantly reduced over storing an imageto the implantable medical device.

The techniques of this disclosure may also provide advantages overstoring images on a remote server. In some cases, a clinical care centermay not have access to a remote server, e.g., due to Internetconnectivity being unavailable or due to restrictions that may blockhardware not managed by clinic or hospital staff. Also, storing data toa device associated with delivering therapy to a patient, such as animplantable medical device or patient programmer, may reduce privacyconcerns that may arise by storing patient data on a remote server.

Programmable implantable medical devices are typically programmed usingan external programming device, sometimes known as a controller orprogrammer, which can communicate with the implanted medical devicethrough well-known techniques such as wireless telemetry. An externalcontroller, or programmer, can be used by a medical professional, forexample, to change the therapeutic regimen by increasing or decreasingthe amount of fluid medication delivered to the patient, in the case offluid delivery therapy, or changing electrode stimulation patterns, inthe case of electrical stimulation. Typically, a medical professionalinteracts with the external controller or programmer to set variousparameters associated with the implantable medical device and thentransmits, or downloads, those parameters to the implanted medicaldevice. The external device may also record other information importantto the delivery of the therapy. Some information may be stored in theimplantable medical device and/or the external programming device. Suchinformation may include patient information, implanted deviceinformation such as model, volume, implant location, length of catheteror lead, and other information specific to different devices.

During a programming session, which may occur during implant of themedical device, during a trial session, or during a follow-up sessionafter the medical device is implanted in the patient, a clinician maygenerate one or more therapy programs that provide efficacious therapyto the patient, where each therapy program may define values for a setof therapy parameters. The clinician may refer to a patient-specificimage of an anatomical feature of the patient, which may include arepresentation of the lead or catheter placement in a therapy target ofthe anatomical feature, while programming the device.

FIG. 1 is a conceptual diagram illustrating an example therapy system 10that delivers therapy to manage a patient condition, such as a movementdisorder, neurodegenerative impairment, a mood disorder or a seizuredisorder of patient 12. Patient 12 ordinarily will be a human patient.In some cases, however, therapy system 10 may be applied to othermammalian or non-mammalian, non-human patients. While movement disordersand neurodegenerative impairment are primarily referred to herein, inother examples, therapy system 10 may provide therapy to manage symptomsof other patient conditions, such as, but not limited to, seizuredisorders (e.g., epilepsy) or mood (or psychological) disorders (e.g.,major depressive disorder (MDD), bipolar disorder, anxiety disorders,post-traumatic stress disorder, dysthymic disorder orobsessive-compulsive disorder (OCD)).

Therapy system 10 includes medical device programmer 14, implantablemedical device (IMD) 16, lead extension 18, and leads 20A and 20B withrespective sets of electrodes 24, 26. In the example shown in FIG. 1,electrodes 24, 26 of leads 20A, 20B (collectively referred to as “leads20”), respectively, are positioned to deliver electrical stimulation toa tissue site within brain 28, such as a deep brain site under the duramater of brain 28 of patient 12. In this example, IMD 16 provides deepbrain stimulation (DBS) therapy. In other examples, IMD 16 may provideother therapies, such as, for example, spinal cord stimulation, pelvicfloor stimulation, gastric stimulation, occipital nerve stimulation,cardiac stimulation, intrathecal drug delivery, intraparenchymal drugdelivery, intracerebroventricular drug delivery, pelvic floor drugdelivery, and the like.

Although the example of FIG. 1 illustrates leads 20, in other examples,IMD 16 may be configured to deliver other types of therapy. For example,IMD 16 may comprise an implantable drug pump in some examples. In suchexamples, rather than being coupled to leads such as leads 20, IMD 16would be coupled to one or more catheters. This disclosure generallyrefers to the item coupled to IMD 16 by which IMD 16 delivers therapy(e.g., stimulation therapy or chemical therapy) to a therapy target ofpatient 12 as a therapy element, although the coupled item may alsomeasure physiologic signals in addition to or instead of deliveringtherapy. Accordingly, in various examples, the therapy element maycomprise one or more leads or one or more catheters. For purposes ofexample, the discussion of FIG. 1 refers to the specific example ofleads 20. However, it should be understood that the techniques of thisdisclosure may also be applied when the therapy element of IMD 16comprises, e.g., a catheter.

In some examples, delivery of stimulation to one or more regions ofbrain 28, such as the subthalamic nucleus (e.g., the dorsal subthalamicnucleus), globus pallidus, internal capsule, thalamus or motor cortex,may be an effective treatment to mitigate or even eliminate one or moresymptoms of movement disorders. A movement disorder or otherneurodegenerative impairment may include symptoms such as, for example,muscle control impairment, motion impairment or other movement problems,such as rigidity, bradykinesia, rhythmic hyperkinesia, nonrhythmichyperkinesia, and akinesia. In some cases, the movement disorder may bea symptom of Parkinson's disease. However, the movement disorder may beattributable to other patient conditions.

Electrodes 24, 26 of leads 20 may also be positioned to sensebioelectrical brain signals within brain 28 of patient 12. In someexamples, some of electrodes 24, 26 may be configured to only sensebioelectrical brain signals and other electrodes 24, 26 may beconfigured to only deliver electrical stimulation to brain 28. In otherexamples, some or all of electrodes 24, 26 are configured to both sensebioelectrical brain signals and deliver electrical stimulation to brain28.

IMD 16 includes a therapy module that includes a stimulation generatorthat generates and delivers electrical stimulation therapy to patient 12via a subset of electrodes 24, 26 of leads 20A and 20B, respectively.The subset of electrodes 24, 26 includes at least one electrode and caninclude a plurality of electrodes. The subset of electrodes 24, 26 thatare used to deliver electrical stimulation to patient 12, and, in somecases, the polarity of the subset of electrodes 24, 26, may be referredto as a stimulation electrode combination or configuration. In someexamples, the stimulation electrode combination includes a firstelectrode positioned on a lead 20A or 20B and a reference electrodepositioned relatively far from the first electrode (e.g., unipolarstimulation) or two or more electrodes positioned on one or more leads20A, 20B (e.g., bipolar stimulation).

The stimulation electrode combination can be selected for a particularpatient 12 and patient condition based on a bioclectrical brain signalsensed within brain 28 of patient 12 and a physiological model (which isspecific to an anatomical feature, such as brain 28, of patient 12) thatis based on placement of electrodes of leads 20 within the brain of thepatient. The physiological model can be generated by a computing device(e.g., a medical data computing device implemented in a general purposecomputer or a medical device programmer) executing instructions definingan algorithm that references a location of leads within brain 28relative to patient anatomy data. The locations of leads 20 can bedetermined using any suitable technique, such as based on a medicalimage generated using any suitable imaging modality (e.g., computedtomography (CT), magnetic resonance imaging (MRI), x-ray orfluoroscopy), based on the stereotactic coordinates used to implantleads 20 within brain 28, based on correlations of signals sensed by IMD16 with anatomical structures expected to yield those signals,correlations of stimulation effects at electrodes with anatomicalstructures expected to yield those effects, or based on aclinician-estimated location of leads 20 within brain 28.

In other examples, the stimulation electrode combination can be selectedfor a particular patient 12 and patient condition based on abioelectrical brain signal sensed within brain 28 of patient 12 and aphysiological model that is based on placement of electrodes of anothermedical member, such as a leadless electrical stimulator. Thus, althoughdescribed with respect to electrodes of leads 20, the devices, systems,and techniques described herein can also be used to select a stimulationelectrode combination based on placement of electrodes within brain 28of patient 12, regardless of the type of component to which theelectrodes are coupled. In such examples, the physiological model can begenerated by a computing device (executing instructions defining analgorithm that references a location of the electrodes (or the medicalmember comprising the electrodes) within brain 28 relative to patientanatomy data. The location of the electrodes or medical component can bedetermined using any suitable technique, such as the techniquesdescribed with respect to leads 20.

Patient anatomy data indicates one or more characteristics of patienttissue proximate to implanted leads 20, such as one or more anatomicalstructures proximate implanted leads 20. The patient anatomy data mayinclude at least one of an anatomical image of a patient, a referenceanatomical image, an anatomical atlas, a tissue conductivity data set,or a data set containing parameters of fluid dynamics governingdistribution of an infused agent. The patient anatomy data may bespecific to patient 12 or may represent data for more than one patient,e.g., model or averaged data of the anatomical structure and tissueconductivity of multiple patients. For example, in some examples, thepatient anatomy data may include tissue conductivity data or otherrelevant tissue data that is typical for the particular lead 20 locationfor the particular therapeutic application (e.g., deep brain stimulationin the case of FIG. 1), and may be, but need not be, specific to patient12. Such data may consist of regions of anatomy that are associated withbeneficial therapeutic effects (‘target volumes’) or regions that areassociated with negative outcomes (‘side effect volumes’) as determinedby analysis of population data sets. In some examples, the computingdevice generates the patient anatomy data from an imaging modality, suchas, but not limited to, CT, MRI, x-ray, fluoroscopy, and the like.

In some examples, the bioelectrical signals sensed within brain 28 mayreflect changes in electrical current produced by the sum of electricalpotential differences across brain tissue. Examples of bioelectricalbrain signals include, but are not limited to, electrical signalsgenerated from local field potentials (LFP) sensed within one or moreregions of brain 28, such as an electroencephalogram (EEG) signal, or anelectrocorticogram (ECoG) signal. Local field potentials, however, mayinclude a broader genus of electrical signals within brain 28 of patient12.

In some examples, the bioelectrical brain signals that are used toselect a stimulation electrode combination may be sensed within the sameregion of brain 28 as the target tissue site for the electricalstimulation or a different region of brain 28. As previously indicated,these tissue sites may include tissue sites within the thalamus,subthalamic nucleus (STN) or globus pallidus of brain 28, as well asother target tissue sites (e.g., other basal ganglia structures). Thespecific target tissue sites and/or regions within brain 28 may beselected based on the patient condition. Thus, in some examples, both astimulation electrode combination and sense electrode combinations maybe selected from the same set of electrodes 24, 26. In other examples,the electrodes used for delivering electrical stimulation may bedifferent than the electrodes used for sensing bioelectrical brainsignals.

A processor of therapy system 10 accesses data for a physiological modelfrom, e.g., a memory of therapy system 10, which can be a memory ofprogrammer 14, IMD 16 or a memory of another device (e.g., a databaseremotely located from programmer 14 or IMD 16 that stores one or morephysiological models). In accordance with the techniques of thisdisclosure, IMD 16 and/or programmer 14 may store graphics processingdata for the physiological model. The physiological model may begenerated by a different computing device and stored in the memory. Thephysiological model may be specific to patient 12. For example, thestored physiological model may be generated based on placement of leadsand electrodes 24, 26 within brain 28 of patient 12.

In some examples, the processor generates a physiological model based ona placement of leads 20 and electrodes 24, 26 within brain 28. Thephysiological model can be generated with the aid of modeling software,hardware, or firmware executing on a computing device, such asprogrammer 14 or a separate dedicated or multifunction computing device.In some examples, the processor displays an image representative of thephysiological model on a user interface of a display in order to provideinformation that guides a clinician in the selection of the stimulationelectrodes. In other examples, the computing device provides astimulation electrode combination recommendation based on thephysiological model generated based on the location of lead 20 and thepatient anatomy data.

In some examples, the physiological model comprises a graphicalrepresentation of a therapy field that represents a region of thepatient's tissue to which therapy is delivered. For example, the therapyfield can include an electrical stimulation field (also referred to asan electrical field) that is generated when IMD 16 delivers electricalstimulation to brain 28 of patient 12 via a selected subset ofelectrodes 24, 26 and a therapy program defining stimulation parameters.The electrical field represents the region of tissue that will becovered by an electrical field (e.g., an electrical field or anelectromagnetic field) during therapy. In other examples, the therapyfield can be an activation field, which indicates the neurons that willbe activated by the electrical field in the patient anatomical regioncovered by the stimulation therapy, thereby indicating the tissue areaactivated by the electrical stimulation delivered via the specifictherapy program, which includes a selected subset of electrodes 24, 26and other stimulation parameter values (e.g., current or voltageamplitude value and/or frequency value). Another type of therapy fieldmodel is a voltage gradient or a current density model that indicatesthe voltage gradient or current density of an electrical field generatedwhen IMD 16 delivers electrical stimulation to brain 28 of patient 12via a selected subset of electrodes 24, 26 and a particular set oftherapy parameter values. Yet another type of therapy field model mayrelate to regions in which an infusion agent is distributed at aconcentration sufficient to yield efficacious effect.

In other examples, the physiological model includes graphics processingdata for producing a graphical representation of the one or moreanatomical structures of brain 28 proximate the implanted leads 20, and,in some examples, also includes graphics processing data for producing agraphical representation of leads 20. The graphics processing data forproducing the graphical representation of leads 20 may correspond to apoint representative of a distal tip of a lead and an angle of the leadrelative to the point, two points defining the lead, parameters definingone or more curves along which the lead traverses, and/or pointsrepresentative of centers of electrodes along the lead. In someexamples, the physiological model is determined based on the actualimplant site of leads 20 within brain 28. For example, a processor of acomputing device (e.g., programmer 14 or another computing device) canimplement an algorithm that maps the 3D coordinates (e.g., stereotacticcoordinates) of electrodes 24, 26 within brain 28 to an anatomical imageof brain 28 to determine and display the anatomical structures proximateimplanted electrodes 24, 26.

The 3D coordinates can be the coordinates with which leads 20 wereimplanted in brain 28 or coordinates provided by a clinician thatestimate the location of leads 20 within brain 28. The location of theanatomical structures within brain 28 can be determined based on patientanatomy data specific to patient 12. For example, the physiologicalmodel that includes the graphical representation of the anatomicalstructures of brain 28 can be rendered to display an image of at least aportion of brain 28 of patient 12. In some examples, the physiologicalmodel can be produced by applying one or more transforms stored withinIMD 16 to an anatomical atlas, also referred to as an anatomical atlasmodel or an atlas model in this disclosure, and the transforms may bestored within IMD 16.

In some examples, programmer 14 or another computing device can generatethe physiological model and display a rendered version of thephysiological model on a display of a user interface. The clinician canthen determine, based on the image of the physiological model, whetherthe electrodes of the sense or stimulation electrode combination areproximate the target anatomical structures or the anatomical structuresto be avoided.

After selecting stimulation electrode combinations, a clinician, aloneor with the aid of a computing device, such as programmer 14, may selectthe other stimulation parameter values that provide efficacious therapyto patient 12. These other stimulation parameter values may include, forexample, a frequency and amplitude of stimulation signals, and, in thecase of stimulation pulses, a duty cycle, pulse width of the stimulationsignals, and an electrode configuration (e.g., selected combination andpolarities) of electrodes. In other cases, programmer 14 may suggestinformation about the stimulation waveform as well as pattern ofdelivered stimulation pulses.

In some examples, after IMD 16 is implanted within patient 12 andprogrammed for chronic therapy delivery, IMD 16 may periodicallyreassess the selected stimulation electrode combination to determinewhether another stimulation electrode combination may provide moreefficacious therapy. IMD 16 may determine, for example, whether thetarget tissue site for stimulation therapy has changed based onphysiological changes in brain 28 or whether one or both leads 20A, 20Bhave migrated away from the original implant site within brain 28, orwhether the leads have migrated relate to one another.

In order to assess the selected stimulation electrode combination basedon the physiological model, a clinician can obtain a medical image ofleads 20 and respective electrodes 24, 26 using any suitable imagingmodality. Programmer 14 or another computing device can generate thephysiological model based on the location of electrodes 24, 26 indicatedby the medical image and patient anatomy data. The physiological modelcan indicate, for example, whether the selected stimulation electrodesare still positioned to deliver electrical stimulation to the one ormore target anatomical structure and/or avoid the one or more anatomicalstructures associated with a stimulation-induced side effect. Forexample, the physiological model can indicate whether the electricalfield, activation field, voltage gradient or current density of thetherapy field resulting from stimulation delivery via the selectedstimulation electrode combination is still targeting the targetanatomical structures and/or avoiding the anatomical structuresassociated with stimulation-induced side effects.

Electrical stimulation generated by IMD 16 may be configured to manage avariety of disorders and conditions. In some examples, the stimulationgenerator of IMD 16 is configured to generate and deliver electricalpulses to patient 12 via electrodes of a selected stimulation electrodecombination. However, in other examples, the stimulation generator ofIMD 16 may be configured to generate and deliver a continuous wavesignal, e.g., a sine wave or triangle wave. In either case, a signalgenerator within IMD 16 may generate the electrical stimulation therapyfor DBS according to a therapy program that is selected at that giventime in therapy. In examples in which IMD 16 delivers electricalstimulation in the form of stimulation pulses, a therapy program mayinclude a set of therapy parameter values, such as a stimulationelectrode combination for delivering stimulation to patient 12, pulsefrequency, pulse width, and a current or voltage amplitude of thepulses. As previously indicated, the stimulation electrode combinationmay indicate the specific electrodes 24, 26 that are selected to deliverstimulation signals to tissue of patient 12 and the respective polarityof the selected electrodes.

IMD 16 may be implanted within a subcutaneous pocket above the clavicle,or, alternatively, the abdomen, back or buttocks of patient 12, on orwithin cranium 32 or at any other suitable site within patient 12.Generally, IMD 16 is constructed of a biocompatible material thatresists corrosion and degradation from bodily fluids. IMD 16 maycomprise a hermetic housing to substantially enclose components, such asa processor, therapy module, and memory.

As shown in FIG. 1, implanted lead extension 18 is coupled to IMD 16 viaconnector (also referred to as a connector block or a header of IMD 16).In the example of FIG. 1, lead extension 18 traverses from the implantsite of IMD 16 and along the neck of patient 12 to cranium 32 of patient12 to access brain 28. In the example shown in FIG. 1, leads 20A and 20B(collectively “leads 20”) are implanted within the right and lefthemispheres, respectively, of patient 12 in order to deliver electricalstimulation to one or more regions of brain 28, which may be selectedbased on the patient condition or disorder controlled by therapy system10. The stimulation electrodes used to deliver stimulation to the targettissue site may be selected based on one or more sensed bioelectricalbrain signals and a physiological model that indicates a region of brain28 proximate the implanted electrodes. Other lead 20 and IMD 16 implantsites are contemplated. For example, IMD 16 may be implanted on orwithin cranium 32, in some examples. As another example, leads 20 may beimplanted within the same hemisphere of brain 28 or IMD 16 may becoupled to a single lead. In other examples, IMD 16 may be coupled to aleadless stimulator. In still other examples, IMD 16 may comprise animplantable fluid delivery device coupled to a catheter, rather than alead.

Although leads 20 are shown in FIG. 1 as being coupled to a common leadextension 18, in other examples, leads 20 may be coupled to IMD 16 viaseparate lead extensions or directly to connector 30. Leads 20 may bepositioned to deliver electrical stimulation to one or more targettissue sites (also referred to herein as “therapy targets”) within brain28 to manage patient symptoms associated with a patient condition, suchas a movement disorder. Leads 20 may be implanted to position electrodes24, 26 at desired locations of brain 28 through respective holes incranium 32. Leads 20 may be placed at any location within brain 28 suchthat electrodes 24, 26 are capable of providing electrical stimulationto target tissue sites within brain 28 during treatment. For example,electrodes 24, 26 may be surgically implanted under the dura mater ofbrain 28 or within the cerebral cortex of brain 28 via a burr hole incranium 32 of patient 12, and electrically coupled to IMD 16 via one ormore leads 20.

In the example shown in FIG. 1, electrodes 24, 26 of leads 20 are shownas ring electrodes. Ring electrodes may be used in DBS applicationsbecause they are relatively simple to program and are capable ofdelivering an electrical field to any tissue adjacent to electrodes 24,26. In other examples, electrodes 24, 26 may have differentconfigurations. For example, in some examples, at least some of theelectrodes 24, 26 of leads 20 may have a complex electrode arraygeometry that is capable of producing shaped electrical fields. Thecomplex electrode array geometry may include multiple electrodes (e.g.,partial ring or segmented electrodes) around the outer perimeter of eachlead 20, rather than one ring electrode. In this manner, electricalstimulation may be directed in a specific direction from leads 20 toenhance therapy efficacy and reduce possible adverse side effects fromstimulating a large volume of tissue.

An example of a complex electrode array geometry including segmentedelectrodes is shown and described with reference to FIGS. 3A and 3B. Insome examples, a housing of IMD 16 may include one or more stimulationand/or sensing electrodes. In alternative examples, leads 20 may haveshapes other than elongated cylinders as shown in FIG. 1. For example,leads 20 may be paddle leads, spherical leads, bendable leads, or anyother type of shape effective in treating patient 12 and/or minimizinginvasiveness of leads 20. In addition, in other examples, leads 20 mayinclude both macro electrodes (e.g., rings, segments adapted to sensinglocal field potentials and stimulation) and micro electrodes (e.g.,adapted to sensing spike trains in the time domain) in any combination.

In the example shown in FIG. 1, IMD 16 includes a memory (shown in FIG.4) to store a plurality of therapy programs that each define a set oftherapy parameter values. In some examples, IMD 16 may select a therapyprogram from the memory based on various parameters, such as a detectedpatient activity level, a detected patient state, based on the time ofday, and the like. IMD 16 may generate electrical stimulation based onthe selected therapy program to manage the patient symptoms associatedwith a movement disorder (or another patient condition). In accordancewith the techniques of this disclosure, the memory of IMD 16 may storegraphics processing data that may be applied during a rendering processto produce an image of an anatomical feature, such as brain 28, ofpatient 12. A computing device, such as programmer 14, may retrieve thegraphical processing data, e.g., via wireless telemetry, to perform therendering process using the graphical processing data.

During a trial stage in which IMD 16 is evaluated to determine whetherIMD 16 provides efficacious therapy to patient 12, a plurality oftherapy programs may be tested and evaluated for efficacy. In addition,one or more stimulation electrode combinations may be selected for theone or more therapy programs based on at least one sensed bioelectricalbrain signal and a physiological model that is determined based on alocation of leads 20 within brain 28, as described in further detailbelow. Therapy programs may be selected for storage within IMD 16 basedon the results of the trial stage.

During chronic therapy in which IMD 16 is implanted within patient 12for delivery of therapy on a non-temporary basis, IMD 16 may generateand deliver stimulation signals to patient 12 according to differenttherapy programs. In addition, in some examples, patient 12 may modifythe value of one or more therapy parameter values within a single givenprogram or switch between programs in order to alter the efficacy of thetherapy as perceived by patient 12 with the aid of programmer 14. Thememory of IMD 16 may store instructions defining the extent to whichpatient 12 may adjust therapy parameters, switch between programs, orundertake other therapy adjustments. Patient 12 may generate additionalprograms for use by IMD 16 via external programmer 14 at any time duringtherapy or as designated by the clinician.

External programmer 14 wirelessly communicates with IMD 16 as needed toprovide or retrieve therapy information. Programmer 14 is an externalcomputing device that the user, e.g., the clinician and/or patient 12,may use to communicate with IMD 16. For example, programmer 14 may be aclinician programmer that the clinician uses to communicate with IMD 16and program one or more therapy programs for IMD 16. Alternatively,programmer 14 may be a patient programmer that allows patient 12 toselect programs and/or view and modify therapy parameters. The clinicianprogrammer may include more programming features than the patientprogrammer. In other words, more complex or sensitive tasks may only beallowed by the clinician programmer to prevent an untrained patient frommaking undesirable changes to IMD 16. Moreover, a clinician programmermay be configured to perform a rendering process using the graphicsprocessing data stored on IMD 16, whereas a patient programmer istypically not (though may be) configured to perform the renderingprocess.

Programmer 14 may be a hand-held computing device with a displayviewable by the user and an interface for providing input to programmer14 (i.e., a user input mechanism). For example, programmer 14 mayinclude a small display screen (e.g., a liquid crystal display (LCD) ora light emitting diode (LED) display) that presents information to theuser. In addition, programmer 14 may include a touch screen display,keypad, buttons, a peripheral pointing device or another input mechanismthat allows the user to navigate though the user interface of programmer14 and provide input. If programmer 14 includes buttons and a keypad,the buttons may be dedicated to performing a certain function, i.e.,activation of power, or the buttons and the keypad may be soft keys thatchange in function depending upon the section of the user interfacecurrently viewed by the user. Alternatively, the screen (not shown) ofprogrammer 14 may be a touchscreen that allows the user to provide inputdirectly to the user interface shown on the display. The user may use astylus or a finger to provide input to the display.

In other examples, programmer 14 may be a larger workstation or aseparate application within another multi-function device, rather than adedicated computing device. For example, the multi-function device maybe a notebook computer, tablet computer, workstation, cellular phone,personal digital assistant or another computing device that may run anapplication that enables the computing device to operate as medicaldevice programmer 14. A wireless adapter coupled to the computing devicemay enable secure communication between the computing device and IMD 16.Elements of the programmer may also be implemented using networkedcomputing resources such that significant computation occurs remotely.

When programmer 14 is configured for use by the clinician, programmer 14may be used to transmit initial programming information to IMD 16. Thisinitial information may include hardware information, such as the typeof leads 20 and the electrode arrangement, the position of leads 20within brain 28, the configuration of electrode array 24, 26, initialprograms defining therapy parameter values, and any other informationthe clinician desires to program into IMD 16. Programmer 14 may also becapable of completing functional tests (e.g., measuring the impedance ofelectrodes 24, 26 of leads 20).

The clinician may also store therapy programs within IMD 16 with the aidof programmer 14. During a programming session, the clinician maydetermine one or more therapy programs that provide efficacious therapyto patient 12 to address symptoms associated with the patient condition,and, in some cases, specific to one or more different patient states,such as a sleep state, movement state or rest state. For example, theclinician may select one or more stimulation electrode combinations withwhich stimulation is delivered to brain 28. During the programmingsession, patient 12 may provide feedback to the clinician as to theefficacy of the specific program being evaluated or the clinician mayevaluate the efficacy based on one or more physiological parameters ofpatient 12 (e.g., muscle activity or muscle tone). Programmer 14 mayassist the clinician in the creation/identification of therapy programsby providing a methodical system for identifying potentially beneficialtherapy parameter values.

Programmer 14 may also be configured for use by patient 12. Whenconfigured as a patient programmer, programmer 14 may have limitedfunctionality (compared to a clinician programmer) in order to preventpatient 12 from altering critical functions of IMD 16 or applicationsthat may be detrimental to patient 12. In this manner, programmer 14 mayonly allow patient 12 to adjust values for certain therapy parameters orset an available range of values for a particular therapy parameter.

Programmer 14 may also provide an indication to patient 12 when therapyis being delivered, when patient input has triggered a change in therapyor when the power source within programmer 14 or IMD 16 needs to bereplaced or recharged. For example, programmer 14 may include an alertLED, may flash a message to patient 12 via a programmer display,generate an audible sound or somatosensory cue to confirm patient inputwas received, e.g., to indicate a patient state or to manually modify atherapy parameter.

Programmer 14 is configured to communicate to IMD 16 and, optionally,another computing device, via wireless communication. Programmer 14, forexample, may communicate via wireless communication with IMD 16 usingradio frequency (RF) telemetry techniques known in the art. Programmer14 may also communicate with another programmer or computing device viaa wired or wireless connection using any of a variety of local wirelesscommunication techniques, such as RF communication according to the IEEE802.11 or Bluetooth® specification sets, infrared (IR) communicationaccording to the IRDA specification set, or other standard orproprietary telemetry protocols. Programmer 14 may also communicate withother programming or computing devices via exchange of removable media,such as magnetic or optical disks, or memory cards. Further, programmer14 may communicate with IMD 16 and another programmer via remotetelemetry techniques known in the art, communicating via a local areanetwork (LAN), wide area network (WAN), public switched telephonenetwork (PSTN), or cellular telephone network, for example.

Therapy system 10 can be implemented to provide chronic stimulationtherapy to patient 12 over the course of several months or years.However, system 10 may also be employed on a trial basis to evaluatetherapy before committing to full implantation. If implementedtemporarily, some components of system 10 may not be implanted withinpatient 12. For example, patient 12 may be fitted with an externalmedical device, such as a trial stimulator, rather than IMD 16. Theexternal medical device may be coupled to percutaneous leads, implantedleads via a percutaneous extension or one or more external leads. If thetrial stimulator indicates DBS system 10 provides effective treatment topatient 12, the clinician may implant a chronic stimulator withinpatient 12 for relatively long-term treatment.

In other examples of therapy system 10, therapy system 10 includes onlyone lead or more than two leads. The devices, systems, and techniquesdescribed below can be applied to a therapy system that includes onlyone lead or more than two leads. Likewise, the techniques of thisdisclosure may be applied to other implantable medical devices, such asimplantable fluid delivery devices that deliver a fluid-based medicationto a therapy target of patient 12 via, e.g., a catheter.

FIG. 2 is a functional block diagram illustrating components of anexample IMD 16. In the example shown in FIG. 2, IMD 16 includesprocessor 40, memory 42, electrical stimulation generator 44, sensingmodule 46, switch module 48, telemetry module 50, and power source 52.Memory 42 may include any volatile or non-volatile media, such as arandom access memory (RAM), read only memory (ROM), non-volatile RAM(NVRAM), electrically erasable programmable ROM (EEPROM), flash memory,and the like. Memory 42 may store computer-readable instructions that,when executed by processor 40, cause IMD 16 to perform variousfunctions.

In the example shown in FIG. 2, memory 42 stores therapy programs 54,bioelectrical brain signals 60, operating instructions 58, and graphicsprocessing data 74 within memory 42 or separate areas within memory 42.In some examples, memory 42 represents separate memories forindividually storing therapy programs 54, bioelectrical brain signals60, operating instructions 58, and graphics processing data 74. Eachstored therapy program 54 defines a particular set of electricalstimulation parameters, such as a stimulation electrode combination,current or voltage amplitude, frequency (e.g., pulse rate in the case ofstimulation pulses), and pulse width.

In other examples, e.g., when IMD 16 comprises an implantable fluiddelivery device, therapy programs 54 store instructions for fluiddelivery dosing programs, e.g., a rate at which to deliver fluid and/ora time at which to deliver fluid at that rate, possibly includingmultiple rates scheduled out over a longer duration of days or weeks. Insome examples, individual therapy programs may be stored as a therapygroup, which defines a set of therapy programs with which stimulationmay be generated. The stimulation signals defined by the therapyprograms of the therapy group may be delivered together on anoverlapping or non-overlapping (e.g., time-interleaved) basis.

Bioelectrical brain signals 60 include bioclectrical brain signalssensed within brain 28 of patient 12 by sensing module 46. Examplebioelectrical brain signals include, but are not limited to, a signalgenerated from local field potentials within one or more regions ofbrain 28. EEG and ECoG signals are examples of local field potentialsthat may be measured within brain 28. However, local field potentialsmay include a broader genus of electrical signals within brain 28 ofpatient 12. In some examples, bioelectrical brain signals 60 are rawbioelectrical brain signals sensed by sensing module 46 (or anothersensing module), a parameterized bioclectrical brain signal generated bysensing module 46 or data generated based on the raw bioelectrical brainsignal. Operating instructions 58 guide general operation of IMD 16under control of processor 40.

In accordance with the techniques of this disclosure, memory 42 maystore graphics processing data 74. In some examples, graphics processingdata 74 may comprise a list of vertices for graphics primitives makingup one or more graphics objects for a patient-specific model of ananatomical feature of patient 12. In some examples, graphics processingdata 74 may comprise one or more transforms that can be applied to ananatomical atlas, which may comprise a general model of the anatomicalfeature of patient 12.

The anatomical feature of patient 12 represented by graphics processingdata 74 may include a therapy target, at which leads 20 are implanted.Processor 40 need not interact with graphics processing data 74, otherthan to receive graphics processing data via telemetry module 50 andstore the graphics processing data to memory 42. For example, processor40 need not implement graphical rendering processes. In this manner, IMD16 represents an example of a device that is not configured to perform arendering process and that is associated with delivery of therapy topatient 12.

Processor 40 may include any one or more of a microprocessor, acontroller, a digital signal processor (DSP), an application specificintegrated circuit (ASIC), a field-programmable gate array (FPGA), ordiscrete logic circuitry. The functions attributed to processorsdescribed herein may be embodied in a hardware device via software,firmware, hardware or any combination thereof. Processor 40 controlsstimulation generator 44 according to therapy programs 54 stored inmemory 42 to apply particular stimulation parameter values specified byone or more of programs, such as amplitude, pulse width, and pulse rate.Processor 40 may control stimulation generator 44, sensing module 46,and switch module 48, among other elements of IMD 16, to deliver therapyto patient 12 via leads 20. Accordingly, portions of IMD 16, e.g.,processor 40, stimulation generator 44, sensing module 46, and switchmodule 48, may collectively be referred to as a therapy unit of IMD 16.

In the example shown in FIG. 2, the set of electrodes 24 includeselectrodes 24A, 24B, 24C, and 24D, and the set of electrodes 26 includeselectrodes 26A, 26B, 26C, and 26D. Processor 40 also controls switchmodule 48 to apply the stimulation signals generated by stimulationgenerator 44 to selected combinations of electrodes 24, 26. Inparticular, switch module 48 may couple stimulation signals to selectedconductors within leads 20, which, in turn, deliver the stimulationsignals across selected electrodes 24, 26. Switch module 48 may be aswitch array, switch matrix, multiplexer, or any other type of switchingmodule configured to selectively couple stimulation energy to selectedelectrodes 24, 26 and to selectively sense bioelectrical brain signalswith selected electrodes 24, 26. Hence, stimulation generator 44 iscoupled to electrodes 24, 26 via switch module 48 and conductors withinleads 20. In some examples, however, IMD 16 does not include switchmodule 48 and instead contains a separate stimulation generator for eachelectrode.

Stimulation generator 44 can be a single channel or multi-channelstimulation generator. In particular, stimulation generator 44 may becapable of delivering a single stimulation pulse, multiple stimulationpulses, or a continuous signal at a given time via a single electrodecombination or multiple stimulation pulses at a given time via multipleelectrode combinations. In some examples, however, stimulation generator44 and switch module 48 may be configured to deliver multiple channelson a time-interleaved basis. For example, switch module 48 may serve totime divide the output of stimulation generator 44 across differentelectrode combinations at different times to deliver multiple programsor channels of stimulation energy to patient 12.

In some examples, processor 40 dynamically changes the selectedcombinations of electrodes 24, 26, i.e., the stimulation electrodecombination, based on one or more time or frequency domaincharacteristics of bioelectrical signals sensed within brain 28. Sensingmodule 46, under the control of processor 40, may sense bioelectricalbrain signals and provide the sensed bioelectrical brain signals toprocessor 40. Processor 40 may control switch module 48 to couplesensing module 46 to a selected combinations of electrodes 24, 26, e.g.,a sense electrode combination. In this way, IMD 16 is configured suchthat sensing module 46 may sense bioelectrical brain signals with aplurality of different sense electrode combinations. Switch module 48may be electrically coupled to the selected electrodes 24, 26 via theconductors within the respective leads 20, which, in turn, deliver thebioelectrical brain signal sensed across the selected electrodes 24, 26to sensing module 46. The bioelectrical brain signal may includeelectrical signals that are indicative of electrical activity withinbrain 28 of patient 12. Processor 40 can store the sensed bioelectricalbrain signals in memory 42.

Although sensing module 46 is incorporated into a common housing withstimulation generator 44 and processor 40 in FIG. 2, in other examples,sensing module 46 may be in a separate housing from IMD 16 and maycommunicate with processor 40 (and, in some examples, programmer 14) viawired or wireless communication techniques.

Telemetry module 50 supports wireless communication between IMD 16 andan external programmer 14 or another computing device under the controlof processor 40. Processor 40 of IMD 16 may receive, as updates toprograms, values for various stimulation parameters such as amplitudeand electrode combination, from programmer 14 via telemetry module 50.The updates to the therapy programs may be stored within therapyprograms 54 portion of memory 42. Telemetry module 50 in IMD 16, as wellas telemetry modules in other devices and systems described herein, suchas programmer 14, may accomplish communication by RF communicationtechniques. In addition, telemetry module 50 may communicate withexternal medical device programmer 14 via proximal inductive interactionof IMD 16 with programmer 14. Accordingly, telemetry module 50 may sendinformation, such as information relating to sensed bioelectrical brainsignals, to external programmer 14 on a continuous basis, at periodicintervals, or upon request from IMD 16 or programmer 14.

Power source 52 delivers operating power to various components of IMD16. Power source 52 may include a small rechargeable or non-rechargeablebattery and a power generation circuit to produce the operating power.Recharging may be accomplished through proximal inductive interactionbetween an external charger and an inductive charging coil within IMD16. In some examples, power requirements may be small enough to allowIMD 16 to utilize patient motion and implement a kineticenergy-scavenging device to trickle charge a rechargeable battery. Inother examples, traditional batteries may be used for a limited periodof time.

Throughout the disclosure, a group of electrodes may refer to anyelectrodes located at the same position along the longitudinal axis ofone or more leads. A group of electrodes may include one electrode or aplurality of electrodes (e.g., two or more electrodes).

In this manner, FIG. 2 represents an example of an implantable medicaldevice including a memory configured to store data for a program of theimplantable medical device, a therapy unit configured to deliver atherapy to a therapy target of an anatomical feature of a patient, andan interface configured to receive the data for the program and to storethe data for the program to the memory, wherein the interface is furtherconfigured to receive graphics processing data comprising data that,when applied during a rendering process, produces an image of theanatomical feature of the patient, wherein the implantable medicaldevice is not configured to perform the rendering process using thegraphics processing data. FIG. 2 also represents an example of animplantable medical device that includes a therapy unit configured toperform at least one of delivery of a therapy and measurement ofphysiologic signals at a therapy target of an anatomical feature of apatient, and a memory comprising stored data for a program of theimplantable medical device and graphics processing data, wherein thegraphics processing data comprises data that, when applied during arendering process, produces an image of the anatomical feature of thepatient, wherein the implantable medical device is not configured toperform the rendering process using the graphics processing data.

FIGS. 3A and 3B are schematic illustrations of an example lead 62 andgroups of electrodes 64 that may be used with IMD 16 instead of or inaddition to one or both leads 20A, 20B including respective sets ofelectrodes 24, 26. FIG. 3A shows a two-dimensional (2D) side view in thex-y plane (orthogonal x-y axes are shown in FIG. 3A for ease ofdescription only) of lead 62, which includes four groups of electrodes66, 68, 70, and 72.

FIG. 3B shows a cross-sectional view in the y-z plane of each of thefour groups of electrodes. Groups of electrodes 66 and 72 each compriseone ring electrode, which may be similar to each of electrodes 24, 26shown in FIG. 2. In contrast, groups of electrodes 68 and 70 eachcomprise three segmented electrodes 68A-68C and 70A-70C distributedaround the outer perimeter of lead 62. In other examples, lead 62 maycomprise any number and combination of groups of ring electrodes orsegmented electrodes. For example, lead 62 may comprise only groups ofsegmented electrodes. As another example, groups 68, 70 of electrodesmay comprise more than three segmented (or partial ring) electrodes orone or two segmented or partial ring electrodes.

In accordance with the techniques of this disclosure, in some examples,graphics processing data stored to IMD 16 and/or programmer 14 mayinclude data representative of the location of lead 62 implanted withina therapy target of patient 12. For example, IMD 16 may storeinformation defining the location of lead 62 in the form of a pointrepresentative of the distal tip of lead 62 and an angle of lead 62relative to the distal tip. It may also store information about theaxial rotation of a lead or catheter relative to anatomical midline (oranother reference), so as to be able to render the directionality ofrelevant therapy elements correctly (e.g. the orientation of a egresshole in a catheter tip). In other examples, IMD 16 may store informationdefining locations of centers of electrodes 66, 68, 70, 72. In suchexamples, IMD 16 may further store information indicating types forelectrodes 66, 68, 70, 72, e.g., to indicate that electrodes 66, 72comprise ring electrodes, whereas electrodes 68A-68C and 70A-70Ccomprise segmented electrodes. IMD 16 may further store informationindicating locations of segments of segmented electrodes 68A-68C and70A-7C.

FIG. 3C is a schematic illustration of an example lead 63 and electrodes76-79. Lead 63 conforms substantially to lead 62 of FIGS. 3A and 3B.However, in this example, electrodes 76-79 of lead 63 are all segmented.In this manner, lead 63 represents an example of a fully segmented leadhaving four levels of segmented electrodes. Electrodes 76-79 may have,e.g., three or four segments, in various examples. Lead 63 representsanother example of a therapy element to which an IMD, such as IMD 16,may be coupled. IMD 16 may be coupled to two or more leads similar tolead 63. In other examples, a fully segmented lead may have more orfewer electrodes.

FIG. 4 is a conceptual block diagram of an example external medicaldevice programmer 14, which includes processor 80, memory 82, userinterface 84, telemetry module 86, and power source 88. Processor 80controls user interface 84 and telemetry module 86, and stores andretrieves information and instructions to and from memory 82. Programmer14 may be configured for use as a clinician programmer or a patientprogrammer. Processor 80 may comprise any combination of one or moreprocessors including one or more microprocessors, DSPs, ASICs, FPGAs, orother equivalent integrated or discrete logic circuitry. Accordingly,processor 80 may include any suitable structure, whether in hardware,software, firmware, or any combination thereof, to perform the functionsascribed herein to processor 80.

A user, such as a clinician or patient 12, may interact with programmer14 through user interface 84. Accordingly, in some examples, programmer14 may comprise a patient programmer or a clinician programmer. Thetechniques of this disclosure are directed to storing graphicsprocessing data, such as graphics processing data 92, to a deviceassociated with delivering therapy to a therapy target of a patient,while not being configured to perform a rendering process using thegraphics processing data. Accordingly, when programmer 14 is configuredas a patient programmer, in some examples, the patient programmer is notnecessarily configured to perform the rendering process using graphicsprocessing data 92. In some examples, when programmer 14 is configuredas a clinician programmer, processor 80 may be configured to perform therendering process using graphics processing data 92 to generate an imageof an anatomical feature including the therapy target of patient 12, andto display the image, e.g., via user interface 84.

User interface 84 includes a display (not shown), such as a LCD or LEDdisplay or other type of screen, to present information related to thetherapy, such as information related to bioelectrical signals sensed viaa plurality of sense electrode combinations and in some examples, whenconfigured to render graphics objects, an image of an anatomical featureincluding a therapy target of patient 12. In addition, user interface 84may include an input mechanism to receive input from the user. The inputmechanisms may include, for example, buttons, a keypad (e.g., analphanumeric keypad), a peripheral pointing device, or another inputmechanism that allows the user to navigate through user interfacespresented by processor 80 of programmer 14 and provide input.

If programmer 14 includes buttons and a keypad, the buttons may bededicated to performing a certain function, e.g., a power button, or thebuttons and the keypad may be soft keys that change in functiondepending upon the section of the user interface currently viewed by theuser. Alternatively, the display (not shown) of programmer 14 may be atouch screen that allows the user to provide input directly to the userinterface shown on the display. The user may use a stylus or a finger toprovide input to the display. In other examples, user interface 84 alsoincludes audio circuitry for providing audible instructions or sounds topatient 12 and/or receiving voice commands from patient 12, which may beuseful if patient 12 has limited motor functions. Patient 12, aclinician or another user may also interact with programmer 14 tomanually select therapy programs, generate new therapy programs, modifytherapy programs through individual or global adjustments, and transmitthe new programs to IMD 16.

In some examples, at least some of the control of therapy delivery byIMD 16 may be implemented by processor 80 of programmer 14. In addition,in some examples, processor 80 may select a stimulation electrodecombination based on a bioelectrical brain signal sensed by IMD 16 and aphysiological model that indicates a one or more characteristics oftissue of brain 28 of patient 12 proximate implanted electrodes 24, 26of leads 20. The examples described herein primarily refer to abioelectrical brain signal sensed by IMD 16, but are also applicable toselecting an electrode combination based on a bioelectrical brain signalsensed by a sensing module that is separate from IMD 16. The separatesensing module may, but need not be, implanted within patient 12.

In some examples, a clinician or other user of programmer 14 may selectone or more electrodes based on time domain characteristics of a sensedbioelectrical signal, such as a sensed spike train from an individual orsmall group of neurons. In addition, the user may view an image of ananatomical feature of patient 12, which may include a representation ofimplanted therapy elements of IMD 16, to select the electrodes. In somecases, e.g., after determining a desirable stimulation electrodecombination, processor 80 may transmit a signal to IMD 16 to instructIMD 16 to use the selected stimulation electrode combinations.

Processor 40 of IMD 16 may receive the signal from programmer 14 via itsrespective telemetry module 50 (FIG. 2). Processor 40 of IMD 16 mayswitch stimulation electrode combinations by selecting a stored therapyprogram from memory 42 based on the signal from processor 80 ofprogrammer 14. Alternatively, processor 80 of programmer 14 may select atherapy program or a specific stimulation electrode combination andtransmit a signal to IMD 16, where the signal indicates the therapyparameter values to be implemented by IMD 16 to help improve theefficacy of the stimulation to manage the patient's movement disorder.The indication may be, for example, an alphanumeric identifier or symbolthat is associated with the therapy program in memory 42 of IMD 16.

In the example shown in FIG. 4, memory 82 stores sense and stimulationelectrode combinations 90, graphics processing data 92, bioelectricalbrain signals 94, and anatomical atlas 96 in separate memories withinmemory 82 or separate areas within memory 82. Memory 82 may also includeinstructions for operating user interface 84 and telemetry module 86,and for managing power source 88. Memory 82 may also store any therapydata retrieved from IMD 16 during the course of therapy, such asbioelectrical brain signals 94 sensed by IMD 16. The clinician may usethis therapy data to determine the progression of the patient conditionin order to predict future treatment. Memory 82 may include any volatileor nonvolatile memory, such as RAM, ROM, EEPROM or flash memory. Memory82 may also include a removable memory portion that may be used toprovide memory updates or increases in memory capacities. A removablememory may also allow sensitive patient data to be removed beforeprogrammer 14 is used by a different patient.

Sense and stimulation electrode combinations 90 stores sense electrodecombinations and associated stimulation electrode combinations. Asdescribed above, in some examples, the sense and stimulation electrodecombinations may include the same subset of electrodes 24, 26, or mayinclude different subsets of electrodes. Thus, memory 82 can store aplurality of sense electrode combinations and, for each sense electrodecombination, store information identifying the stimulation electrodecombination that is associated with the respective sense electrodecombination. The associations between sense and stimulation electrodecombinations can be determined, e.g., by a clinician, automatically byprocessor 80, or a processor of another device (e.g., IMD 16).

In some examples, corresponding sense and stimulation electrodecombinations may comprise some or all of the same electrodes. In otherexamples, however, some or all of the electrodes in corresponding senseand stimulation electrode combinations may be different. For example, astimulation electrode combination may include more electrodes than thecorresponding sense electrode combination in order to increase theefficacy of the stimulation therapy. In some examples, as discussedabove, stimulation may be delivered via a stimulation electrodecombination to a tissue site that is different than the tissue siteclosest to the corresponding sense electrode combination but is withinthe same region, e.g., the thalamus, of brain 28 in order to mitigateany irregular oscillations or other irregular brain activity within thetissue site associated with the sense electrode combination. In anotherexample, stimulation may be delivered via a stimulation electrodecombination to a tissue site that is different than the tissue siteclosest to the corresponding sense electrode combination but is withinthe same pathway or brain circuit, e.g., IMD 16 may sense bioelectricalbrain signals in the GPi and stimulate in the STN of brain 28 in orderto mitigate any abnormal oscillatory activity or other abnormal brainactivity within the tissue site associated within the sense electrodecombination. The regions of the brain circuit may be functionallyrelated to one another via neurological pathways in a manner that causesactivity within one region of the network to be influenced by activitywithin another region of the network.

Graphics processing data 92 stores information with which processor 80of programmer 14 may, when configured to perform a rendering process,render a patient-specific model to generate an image of a therapy targetproximate leads 20 of IMD 16. In some examples, the image may includeone or more anatomical structures within brain 28 of patient 12proximate implanted leads 20. In some examples, graphics processing data92 stores lead placement information that identifies a location of leads20, which can be an actual location of leads 20 within brain 28 or anapproximate location of leads 20 within brain 28. The informationrelating to the actual or approximate location of leads 20 can include,for example, points representing distal tips of the leads, angles of theleads relative to the distal tips, a three-dimensional vector relativeto the distal tip, second point representative of a proximal ends of theleads, points defining centroids of electrodes along a lead, axialorientation or rotation relative to a reference direction, or other suchinformation.

Graphics processing data 92 also stores data that, when applied during arendering process, produces an image representative of an anatomicalfeature of patient 12 including a therapy target proximate to leads 20of IMD 16. In one example, graphics processing data 92 may store a listof vertices defining graphics primitives for a three-dimensional meshrepresentative of the patient-specific model of the anatomical feature.In this example, memory 82 need not necessarily store anatomical atlas96, which is illustrated using a dashed outline to represent thatstoring data for anatomical atlas 96 is optional. In another example,graphics processing data 92 may store one or more transforms that, whenapplied to anatomical atlas 96, transform anatomical atlas 96 to thepatient-specific model. Such a transform may be generated by a processin which a non-patient specific atlas or data set is altered via aseries of rigid or non-rigid registrations such that it better matchesthis patient's specific anatomy. The rendering process may furtherinclude generating pixel data for an image of the anatomical featurefrom the patient-specific model. In some examples, graphics processingdata 92 may store both vertex data and transform data, which may both beapplied during the rendering process. In still other examples, memory 82may additionally store image data, e.g., an encoded representation of aportion of the image to be displayed.

When programmer 14 is configured as a clinician programmer, memory 82may store graphics processing data 92 temporarily. That is, theclinician programmer may retrieve graphics processing data 74 frommemory 42 of IMD 16, e.g., via wireless telemetry, and store thegraphics processing data temporarily as graphics processing data 92. Inother examples, the clinician programmer may retrieve graphicsprocessing data from a patient programmer and store the retrievedgraphics processing data as graphics processing data 92. The clinicianprogrammer may store graphics processing data 92 during a programmingsession performed by a clinician user, and processor 80 (or a separateprocessor, such as a graphics processing unit (GPU)), may be configuredto perform the rendering process. Following the programming session,processor 80 may erase graphics processing data 92 or overwrite graphicsprocessing data 92 when new data is to be stored to memory 82. Graphicsprocessing data may alternately be stored locally or cached for futureuse on this programmer. Processor 80 may cause a display (not shown) ofuser interface 84 to display an image generated by performance of therendering process.

Wireless telemetry in programmer 14 may be accomplished by RFcommunication or proximal inductive interaction of external programmer14 with IMD 16. This wireless communication is possible through the useof telemetry module 86. Accordingly, telemetry module 86 may be similarto the telemetry module contained within IMD 16. In alternativeexamples, programmer 14 may be capable of infrared communication ordirect communication through a wired connection. In this manner, otherexternal devices may be capable of communicating with programmer 14without needing to establish a secure wireless connection.

Power source 88 delivers operating power to the components of programmer14. Power source 88 may include a battery and a power generation circuitto produce the operating power. In some examples, the battery may berechargeable to allow extended operation. Recharging may be accomplishedby electrically coupling power source 88 to a cradle or plug that isconnected to an alternating current (AC) outlet. In addition, rechargingmay be accomplished through proximal inductive interaction between anexternal charger and an inductive charging coil within programmer 14. Inother examples, traditional batteries (e.g., nickel cadmium or lithiumion batteries) may be used. In addition, programmer 14 may be directlycoupled to an alternating current outlet to operate. Power source 88 mayinclude circuitry to monitor power remaining within a battery. In thismanner, user interface 84 may provide a current battery level indicatoror low battery level indicator when the battery needs to be replaced orrecharged. In some cases, power source 88 may be capable of estimatingthe remaining time of operation using the current battery.

FIG. 5 is a block diagram illustrating an example system 100 in which animage manipulation device 102 stores graphics processing data to devicesassociated with delivering therapy to patient 12. In the example of FIG.5, system 100 includes image manipulation device 102, display device108, magnetic resonance imaging (MRI) unit 104, atlas model 106,programmer 14, and IMD 16 implanted with patient 12. For the purposes ofthe example of FIG. 5, it is assumed that programmer 14 comprises apatient programmer for patient 12 that is not configured to perform agraphics rendering process. However, as discussed above, in otherexamples, programmer 14 may comprise a clinician programmer or otherprogrammer device configured to perform the rendering process. Moreover,in some examples, image manipulation device 102 and a clinicianprogrammer may be functionally integrated as one device or one unit.

MRI unit 104 may capture a series of magnetic resonance images of ananatomical feature including a therapy target of patient 12 while IMD 16is implanted within patient 12. Accordingly, a therapy element of IMD16, such as one or more leads or one or more catheters, may be implantedproximate to the therapy target. Although the example of FIG. 5 depictsan MRI unit, in other examples, other imaging devices may be used, e.g.,CT units, x-ray units, fluoroscopy units, and the like. MRI unit 104 maycapture a series of images of the anatomical feature of patient 12,which may include images of the therapy element of IMD 16. In someexamples, MRI unit 104 may capture a set of images of the therapy targetof patient 12 prior to implant of the therapy element and IMD 16, inorder to assist physicians in planning placement of the therapy elementof IMD 16. In some examples, MRI unit 104 may capture a set of imagesfollowing implant, e.g., to assist clinicians in programming of IMD 16.

MRI unit 104 provides the captured images to image manipulation device102. Image manipulation device 102 may use the images from MRI unit 104to construct a patient-specific model of the anatomical featureincluding the therapy target of patient 12. As an example, the MRI imagedata may be used to alter a non-patient specific atlas or data set aseries of rigid or non-rigid registrations such that it better matchesthis patient's specific anatomy. The patient-specific model maycorrespond to a three-dimensional model of the anatomical featurespecific to patient 12. For example, the patient-specific model maycomprise one or more graphics objects made up of one or more graphicsprimitives. Each of the graphics primitives may be defined by one ormore vertices. In some examples, certain portions of the anatomicalfeature of patient 12 may be pre-stored to image manipulation device102, and graphics processing data for producing an image ofpatient-specific structures of interest may be stored to IMD 16 and/orprogrammer 14, e.g., the therapy target and neighboring structures.

In accordance with the techniques of this disclosure, in some examples,image manipulation device 102 may be configured to store a list ofvertices defining the graphics primitives for the graphics objectsmaking up the patient-specific model to a device that is not configuredto perform a rendering process but that is associated with deliveringtherapy to patient 12, e.g., programmer 14 and/or IMD 16, in thisexample. In this manner, storing a list of vertices to programmer 14 orIMD 16 represents an example of storing graphics processing data to adevice associated with delivering therapy to a patient. In suchexamples, image manipulation device 102 need not necessarily access dataof atlas model 106. That is, the list of vertices can be used todirectly recreate the patient-specific model. Therefore, atlas model 106is illustrated using a dashed outline, indicating that atlas model 106is an optional component of system 100. Atlas model 106 is generallyubiquitous, that is, available to any device configured to interact withgraphics processing data stored by IMD 16 and/or programmer 14.

In other examples of the techniques of this disclosure, imagemanipulation device 102 may be configured to compare thepatient-specific model to atlas model 106, e.g., to determinedifferences between the models. Image manipulation device 102 may beconfigured to calculate one or more transforms that, when applied toatlas model 106, produce a model that is substantially similar to thepatient-specific model for patient 12. In these examples, imagemanipulation device 102 may store data for the transforms to programmer14 and/or IMD 16. In this manner, storing transform data to programmer14 or IMD 16 represents an example of storing graphics processing datato a device associated with delivering therapy to a patient.

Likewise, image manipulation device 102 may determine locations oftherapy elements of IMD 16 within the anatomical feature of patient 12from the images received from MRI unit 104. Image manipulation device102 may store data indicative of the locations of therapy elements toIMD 16 or programmer 14, such as a point and one or more angles (whichcan be stored efficiently in tens of bytes), two points defining a line,multiple points corresponding to centers of electrodes of a lead, apoint representative of a leadless stimulator, or other location data.The data indicative of the location of the therapy element may alsoinclude geometry information for the therapy element, such as, forexample, a model identifier (e.g., model number) of the therapy element,a length and width (e.g., circumference) of the therapy element, anumber of electrodes and positions of the electrodes (which may bedescribed by spacing between the electrodes) when the therapy elementcomprises a lead, coefficients of a curve (spline or otherwise) when thetherapy element is not straight, or other such information.

When graphics processing data are stored to programmer 14 and/or IMD 16,image manipulation device 102 may retrieve the graphics processing datafrom programmer 14 or IMD 16. In some examples, image manipulationdevice 102 may be configured only to perform a graphics renderingprocess, and not to generate an actual patient-specific model from dataof MRI unit 104. Accordingly, MRI unit 104 is illustrated using a dashedline to indicate that MRI unit 104 is an optional component of system100. In some examples, image manipulation device 102 may be configuredto retrieve the graphics processing data from programmer 14 or IMD 16,as well as to produce a patient-specific model of the anatomical featureof patient 12, e.g., to assist a clinician in monitoring drift of leadsof IMD 16, if any.

In this manner, image manipulation device 102 may have variousconfigurations. For example, image manipulation device 102 may beconfigured to generate graphics processing data to be stored to IMD 16and/or programmer 14, to retrieve graphics processing data from IMD 16and/or programmer 14 and perform a rendering process using the graphicsprocessing data, or both.

Display device 108 may comprise a user interface for displaying imagesrendered by image manipulation device 102. In some examples, displaydevice 108 may form part of image manipulation device 102, or maycomprise a separate device coupled to image manipulation device 102.Image manipulation device 102 may apply the graphics processing dataduring a rendering process to generate an image of an anatomical featureof patient 12 including a therapy target, and of therapy elements of IMD16 in some examples. Image manipulation device 102 may cause displaydevice 108 to display the image after rendering.

In this manner, FIG. 5 represents an example of a system including animplantable medical device comprising a memory that stores graphicsprocessing data, wherein the implantable medical device is configured toat least one of deliver therapy and sense a physiological signal at atherapy target of a patient, and wherein the implantable medical deviceis not configured to perform a rendering process using the graphicsprocessing data, and an image manipulation device configured to retrievethe graphics processing data from the memory of the implantable medicaldevice, to apply the graphics processing data while performing therendering process to generate an image of an anatomical feature of thepatient, wherein the anatomical feature comprises the therapy target forthe implantable medical device, and to cause a user interface of adisplay unit to display the image, wherein the image of the anatomicalfeature is specific to the patient.

The graphics processing data may be referred to as key information. Inaccordance with the techniques of this disclosure, this key informationcan be stored to a device associated with delivering therapy to patient12, e.g., IMD 16 and/or programmer 14. In this manner, the keyinformation can be retrieved, rather than regenerated, e.g., byobtaining a subsequent set of MRI images. The key information mayinclude graphics processing data that, when applied during a renderingprocess, allows for a visualization programming interface to bepresented. Because the key information is stored to IMD 16 and/orprogrammer 14, image manipulation device 102 (or other devices, e.g.,clinician programmers) may have access to the graphics processing datawhen patient 12 is present.

FIGS. 6A-6C are block diagrams illustrating various exampleconfigurations of components of image manipulation devices 102A-102C.Each of image manipulation devices 102A-102C conform substantially tovarious configurations of image manipulation device 102 of FIG. 5. Inthe example of FIG. 6A, image manipulation device 102A includes controlunit 110A, telemetry module 126A, display 128A, and MRI interface 118.

Control unit 110A may include a memory for storing executableinstructions and one or more processing units for executing theinstructions. In other examples, control unit 110A may include one ormore discrete hardware units, such as digital signal processors (DSPs),application specific integrated circuits (ASICs), field programmablegate arrays (FPGAs), or any other equivalent integrated or discretelogic circuitry. In the example of FIG. 6A, control unit 110A includesmemory for storing atlas model 120A, as well as transform calculationunit 112, three-dimensional (3D) model generation unit 114, telemetrymodule control unit 122A, graphics processing unit 124A, and imageanalysis unit 116. In this example, 3D model generation unit 114, imageanalysis unit 116, and MRI interface 118 collectively form apatient-specific model generation unit 130. In other examples,patient-specific model generation unit 130 may correspond to a separatefunctional unit.

In the example of FIG. 6A, image manipulation device 102A receivesimages from MRI unit 104 via MRI interface 118. Image analysis unit 116analyzes the images and provides data for the images to 3D modelgeneration unit 114. 3D model generation unit 114 creates apatient-specific 3D model of an anatomical feature of patient 12 fromthe images received from MRI unit 104. The patient-specific model maycomprise one or more graphics objects, each of which may comprise one ormore graphics primitives. 3D model generation unit 114 may generate alist of vertices defining the graphics primitives and pass the list ofvertices to telemetry module control unit 122A. Telemetry module controlunit 122A may, in turn, cause telemetry module 126A to store the list ofvertices to programmer 14 and/or IMD 16. In some examples. 3D modelgeneration unit 114 may also provide other graphics processing data inaddition to the list of vertices, such as arrangement of polygon facesamong the vertices, to aid in reconstruction.

One common example of a graphics primitive is a triangle, which may bedefined by three vertices in a three-dimensional space. That is, each ofthe vertices may comprise an X-component, a Y-component, and aZ-component. Thus, nine values may be used to define the geometry for atriangle graphics primitive. In some examples, an instruction to drawtriangle graphics primitives may be followed by a list of X, Y, Zcoordinate triplets, comprising a list of vertices. The instruction andlist of vertices may case graphics processing unit (GPU) 124A toconstruct triangles having vertices starting with the first vertex,three vertices forming each of the triangles. Table 1 below provides anexample of a list of vertices for rendering triangles.

TABLE 1 X-Coordinate Y-Coordinate Z-Coordinate 17.624 77.8872 42.931517.5931 78.2035 42.5784 21.9218 77.6171 42.1817 24.405 76.0362 49.999819.9519 78.3977 48.1534 24.2638 77.597 47.8474

In some examples, the first three rows of coordinates in Table 1 maydefine a first triangle, and the next three rows of Table 1 may define asecond triangle. In other examples, rows 1 through 3 of Table 1 maydefine a first triangle, rows 2 through 4 may define a second triangle,rows 3 through 5 may define a third triangle, and so on. In this manner,a list of vertices, such as the list of vertices represented in Table 1,may define one or more graphics primitives that make up a graphicsobject for a patient-specific physiological model.

GPU 124A, or other GPUs of other image manipulation devices, may applythe list of vertices during a graphics rendering process to produce animage of the patient-specific model constructed by patient-specificmodel generation unit 130. For example, instructions may be passed toGPU 124A via an application programming interface (API), such as OpenGraphics Library (OpenGL) DirectX, or other graphics processing APIs, torender the graphics objects defined by the list of vertices. Thefollowing pseudocode represents one example, using OpenGL-like syntax,for drawing triangles using the example list of vertices of Table 1:

  glBegin(GL_TRIANGLES);  glVertex3f (17.624, 77.8872, 42.9315); glVertex3f (17.5931, 78.2035, 42.5784);  glVertex3f (21.9218, 77.6171,42.1817);  glVertex3f (24.405, 76.0362, 49.9998);  glVertex3f (19.9519,78.3977, 48.1534);  glVertex3f (24.2638, 77.597, 47.8474); glEnd( );

In this example pseudocode, glBegin(GL_TRIANGLES); is an instructionthat causes GPU 124A to begin drawing triangles based on vertices passedto GPU 124A. Each of the glVertex3f( ) instructions correspond toinstructions for passing vertices to GPU 124A to use to draw triangles,in the format glVertex3f(X, Y, Z). In this example, GPU 124A may drawtwo triangles, one triangle with the first three vertices and a secondtriangle with the next three vertices. The glEnd( ); instruction informsGPU 124A that the list has ended and to stop drawing triangles. In otherexamples, of course, there may be a much larger set of vertices (e.g.,1950 vertices) used to define many triangles (e.g., 650 triangles) toconstruct graphics objects for a patient-specific physiological model ofan anatomical feature of patient 12. In some examples, 3D modelgeneration unit 114A may define a vertex array to include the examplelist of vertices of Table 1. Thus, in some examples, image manipulationdevice 102A may store the vertex array to IMD 16 and/or programmer 14via telemetry module 126A.

Rather than storing a list of vertices, in some examples, 3D modelgeneration unit 114 sends the patient-specific model to transformcalculation unit 112. Transform calculation unit 112 may also retrieveatlas model 120A from memory of control unit 110A. In this example,atlas model 120A corresponds to a general, non-patient-specific model ofthe anatomical feature of interest for patient 12. For example, atlasmodel 120A may be generated based on an average of patient-specificmodels of the anatomical feature from a relatively large number of testpatients. Alternately, atlas model 120A may be generated from thedissection of a physical specimen wherein experts in the field segmentstructures based on staining or other techniques. As yet anotherexample, atlas model 120A may be generated by statistical analysis ofthe correlation of therapy outcome against anatomical location usinglarge sets of previous test patients.

Transform calculation unit 112 may calculate one or more transformsthat, when applied to atlas model 120A, substantially yield thepatient-specific model produced by patient-specific model generationunit 130. For example, a user may manipulate elements of the anatomicalatlas model to move vertices or graphics objects of the atlas model tomirror the patient-specific model. In addition, or in the alternative,transform calculation unit 112 may match features of thepatient-specific model to the atlas model and calculate the transformsto manipulate vertices of the atlas model to mirror the patient-specificmodel. The transforms may comprise any of translations, scaling, and/orrotations in one or more dimensions. Each of these types of transformscan be stored in, for example, a 3×3 matrix transform. In some examples,transform calculation unit 112 may calculate a 4×4 matrix comprising anaffine transform that represents a combination of a translationtransform, a scaling transform, and a rotation transform. Table 2 belowrepresents an example 4×4 affine transform:

TABLE 2 1.000000 0.000000 0.000000 0.000000 0.000000 0.996265 −0.0622678.168664 0.000000 0.119729 0.996265 −6.887179 0.000000 0.000000 0.0000001.000000

In some examples, transform calculation unit 112 may be configured tooperate completely autonomously to calculate the transforms. In otherexamples, a user may interact with transform calculation unit 112, e.g.,to adjust the transforms to cause the model produced by applying thetransforms to atlas model 120A to fit the patient-specific model moreprecisely. In still other examples, transform calculation unit 112 mayrepresent a tool provided to a user to adjust atlas model 120A tosubstantially fit the patient-specific model, such that transformcalculation unit 112 produces transforms corresponding to theadjustments made or to key landmarks identified by the user. In anycase, transform calculation unit 112 may send the calculated transformsto telemetry module control unit 122A. Telemetry module control unit122A may, in turn, cause telemetry module 126A to store the transformsto IMD 16 and/or programmer 14.

Moreover, transform calculation unit 112 may provide the transforms toGPU 124A. GPU 124A may also receive atlas model 120A. GPU 124A mayperform a rendering process, during which GPU 124A may apply thetransforms to atlas model 120A. In this manner, GPU 124A may manipulatevertices defining atlas model 120A according to the transforms fromtransform calculation unit 112 during a rendering process.

Accordingly, image manipulation device 102A represents an example of adevice that can use graphics processing data comprising either or bothof a list of vertices defining a patient-specific model and transformsapplied to atlas model 120A (or in some cases, to the patient-specificmodel defined by the list of vertices). GPU 124A may apply the graphicsprocessing data during a rendering process to produce an image of ananatomical feature of patient 12. GPU 124A may then pass the image todisplay 128A to cause a user interface of display 128A to display theimage. In some examples, a clinician may use the image to adjustprogramming of IMD 16. In such examples, image manipulation device 102Amay be configured as a clinician programmer.

Furthermore, rather than using the data provided by either or both of 3Dmodel generation unit 114 and/or transform calculation unit 112, imagemanipulation device 102A may be configured to retrieve graphicsprocessing data from IMD 16 and/or programmer 14 that was previouslystored. Thus, GPU 124A may be configured to perform a rendering processusing graphics processing data retrieved from IMD 16 and/or programmer14, in addition to or in the alternative to graphics processing dataconstructed by patient-specific model generation unit 130 and/ortransform calculation unit 112. For example, image manipulation device102A may retrieve data from IMD 16 and/or programmer 14 rather thansubjecting patient 12 to an additional imaging process using MRI unit104 or other imaging devices, e.g., CT units, x-ray units, fluoroscopyunits, or the like.

In still other examples, image manipulation device 102A may retrievegraphics processing data stored by IMD 16 and/or programmer 14 toproduce a first image, and also generate an updated patient-specificmodel using patient-specific model generation unit 130 to produce asecond image. In this manner, a clinician may compare the two images orcompare to calculated transforms to determine whether therapy elementsof IMD 16 have drifted over time.

In this manner, FIG. 6A represents an example of a device including atelemetry module configured to retrieve graphics processing data from adevice that is not configured to perform a rendering process using thegraphics processing data and that is associated with at least one ofdelivering therapy and sensing a physiological signal at a therapytarget of a patient, and a control unit configured to apply the graphicsprocessing data while performing the rendering process to generate animage of an anatomical feature of the patient, wherein the anatomicalfeature comprises the therapy target for an implantable medical device,and to cause a display unit of a user interface to display the image,wherein the image of the anatomical feature is specific to the patient.

FIG. 6B is a block diagram illustrating an example of image manipulationdevice 102B. Components of image manipulation device 102B that are namedand numbered similarly to components of image manipulation device 102Aof FIG. 6A conform substantially to the similarly named and numberedcomponents. In this example, however, image manipulation device 102Bdoes not include a patient-specific model generation unit. Furthermore,in this example, control unit 102B is configured to retrieve one or moretransform matrices from IMD 16 and/or programmer 14 via telemetry module126B. GPU 124B may apply the retrieved transform matrices to atlas model102B during a rendering process to generate an image of an anatomicalfeature of patient 12 including a therapy target. In addition, IMD 16and/or programmer 14 may comprise data defining locations of therapyelements of IMD 16. Accordingly, GPU 124B may also produce arepresentation of the therapy elements of IMD 16 in the image producedby the rendering process.

In this manner, FIG. 6B represents an example of a device including atelemetry module configured to retrieve graphics processing data from adevice that is not configured to perform a rendering process using thegraphics processing data and that is associated with at least one ofdelivering therapy and sensing a physiological signal at a therapytarget of a patient, and a control unit configured to apply the graphicsprocessing data while performing the rendering process to generate animage of an anatomical feature of the patient, wherein the anatomicalfeature comprises the therapy target for an implantable medical device,and to cause a display unit of a user interface to display the image,wherein the image of the anatomical feature is specific to the patient.In the example of FIG. 6B, the graphics processing data comprises one ormore transforms, and thus, the control unit is configured to obtain ananatomical atlas for the anatomical feature of the patient, wherein theanatomical atlas comprises a general model of the anatomical feature ofthe patient, apply the one or more transforms to the anatomical atlas toproduce a patient-specific model of the anatomical feature of thepatient, wherein the patient-specific model comprises three-dimensionalgraphics data, and render the patient-specific model to produce pixeldata for the image representative of the patient-specific model.

FIG. 6C is a block diagram illustrating an example of image manipulationdevice 102C. Components of image manipulation device 102C that are namedand numbered similarly to components of image manipulation device 102Aof FIG. 6A conform substantially to the similarly named and numberedcomponents. However, in this example, image manipulation device 102Cdoes not include a patient-specific model generation unit. Furthermore,in this example, control unit 102C is configured to retrieve a list ofvertices from IMD 16 and/or programmer 14 via telemetry module 126C. GPU124C may render graphics objects comprising graphics primitives definedby the list of vertices to produce an image, and cause display 128C todisplay the image. In addition, IMD 16 and/or programmer 14 may comprisedata defining locations of therapy elements of IMD 16. Accordingly, GPU124C may also produce a representation of the therapy elements of IMD 16in the image produced by the rendering process.

In this manner, FIG. 6C represents an example of a device including atelemetry module configured to retrieve graphics processing data from adevice that is not configured to perform a rendering process using thegraphics processing data and that is associated with at least one ofdelivering therapy and sensing a physiological signal at a therapytarget of a patient, and a control unit configured to apply the graphicsprocessing data while performing the rendering process to generate animage of an anatomical feature of the patient, wherein the anatomicalfeature comprises the therapy target for an implantable medical device,and to cause a display unit of a user interface to display the image,wherein the image of the anatomical feature is specific to the patient.In the example of FIG. 6C, the graphics processing data comprises a listof vertices for graphics primitives corresponding to a three-dimensionalgraphical mesh representative of the anatomical feature of the patient.Accordingly, the control unit, in this example, is configured to renderthe graphics primitives using the list of vertices to produce pixel datafor the image representative of the graphics primitives of thethree-dimensional graphical mesh.

FIG. 7 is a flowchart illustrating an example method for storinggraphics processing data to a device associated with at least one ofdelivering therapy and sensing a physiological signal at a therapytarget of a patient. Although discussed with respect to components ofthe example of FIG. 6A for purposes of example, it should be understoodthat steps of the method of FIG. 7 may be performed by other devices.For example, a clinician programmer, a patient programmer, a generalpurpose computer, or other device may be configured to perform steps ofthe method of FIG. 7. Moreover, certain steps of FIG. 7 may be omitted,performed in a different order or in parallel, and/or additional stepsmay be performed, without departing from the techniques of thisdisclosure.

Initially, a clinician may determine a therapy target of patient 12(150). For example, the clinician or other medical personnel maydiagnostically determine a therapy to be applied to patient 12, and thatan implantable medical device, such as an implantable electricalstimulator or an implantable fluid delivery device, could be used todeliver the therapy. The clinician may then implant IMD 16 near thetherapy target of patient 12 (152), and implant a therapy element, suchas a lead, proximate to the therapy target (154).

Following the implant procedure, an imaging device, such as MRI unit104, may capture image data of the therapy target of patient 12 (156).MRI unit 104 may, for example, capture a sequence of “slices” throughmagnetic resonance imaging procedures. Each of the slices may correspondto one image of a portion of the therapy target. MRI unit 104 may thenprovide the image data to image manipulation device 102A via MRIinterface 118.

Patient-specific model generation unit 130 of image manipulation device102A may generate a patient-specific model of an anatomical feature thatincludes the therapy target for patient 12 from the received image data(158). For example, if an x-axis corresponds to the direction from oneside of patient 12 to the other, a y-axis corresponds to the directionfrom the back of patient 12 to the front of patient 12, and the z-axiscorresponds the direction from the head of patient 12 to the feet ofpatient 12, then each slice may include image data in x-y planes.Moreover, the slices may be stacked in z-axis order. In this manner,image analysis unit 116 may attempt to identify anatomical features inthe slice-images received from MRI unit 104, while 3D model generationunit 114 may generate X- and Y-coordinates for the features within aparticular slice, and Z-coordinates for the features based on theposition of the feature in the ordering of the slices.

Using the patient-specific model, image manipulation device 102A maygenerate graphics processing data that, when applied during a renderingprocess, produces an image of the anatomical feature specific to patient12. In some examples, the graphics processing data may comprise a listof vertices, while in other examples, the graphics processing data maycomprise one or more transforms that can be applied to anon-patient-specific atlas, e.g., atlas model 120A. Image manipulationdevice 102A may then store the graphics processing data for thepatient-specific model in, e.g., IMD 16 (160) via telemetry module 126A.Additionally or alternatively, image manipulation device 102A may storethe graphics processing data to programmer 14. Moreover, programmer 14need not necessarily be configured to perform the rendering processusing the graphics processing data.

The image data provided by MRI unit 104 may also include arepresentation of a therapy element, such as one or more leads, of IMD16, implanted within the therapy target of patient 12. Accordingly,image manipulation device 102A may also calculate data representative ofthe location of the therapy element and store the location data for thelead in IMD 16, along with the graphics processing data (162).

GPU 124A may further perform the rendering process to generate an imageof the anatomical feature of patient 12 with a representation of thelead (or other therapy elements) of IMD 16 via display 128A. A clinicianmay use the image to determine, e.g., points of contact for electrodesof the lead with the therapy target (164). The clinician may determine aprogram (e.g., a combination of electrodes, stimulation frequency, pulsewidth, and/or amplitude, waveform, and the like) based at least in parton the image of the therapy target and the lead implant locationpresented in the image (166). The clinician may use image manipulationdevice 102A or another device to download the program to IMD 16, or todownload an indication of a previously stored program for IMD 16 to useto deliver therapy to the therapy target of patient 12 via the therapyelement (e.g., the lead).

In this manner, FIG. 7 represents an example of a method includingobtaining information representative of an anatomical feature of apatient, wherein the anatomical feature comprises a therapy target foran implantable medical device, determining graphics processing databased on the obtained information, wherein the graphics processing datacomprises data that, when applied during a rendering process, producesan image of the anatomical feature of the patient, and storing thegraphics processing data to a device that is not configured to performthe rendering process using the graphics processing data, wherein thedevice is associated with at least one of delivering therapy and sensinga physiological signal at the therapy target of the patient.

FIG. 8 is a flowchart illustrating an example method for creating andstoring a list of vertices of graphics primitives to a device associatedwith at least one of delivering therapy and sensing a physiologicalsignal at a therapy target of a patient. Although discussed with respectto the example of image manipulation device 102A for purposes ofexample, it should be understood that the method of FIG. 8 may beperformed by other devices. For example, a clinician programmer, apatient programmer, a general purpose computer, or other device may beconfigured to perform the method of FIG. 8. Moreover, certain steps ofFIG. 8 may be omitted, performed in a different order or in parallel,and/or additional steps may be performed without departing from thetechniques of this disclosure. Details of certain steps of FIG. 8 mayconform substantially to similarly described steps of FIG. 7.

Initially, image manipulation device 102A may obtain image data of ananatomical feature of patient 12 (180). For example, as discussed abovewith respect to FIG. 7, image manipulation device 102A may receive imagedata from MRI unit 104. The image data may include an image of a lead orother therapy element of IMD 16. Using the image of the lead, imagemanipulation device 102A may determine a location of the lead in thetherapy target of patient 12 (182).

3D model generation unit 114 may calculate a patient-specific model ofan anatomical feature including the therapy target of patient 12 (184).3D model generation unit 114 may determine a list of vertices defininggraphics primitives of a graphic mesh of the patient-specific model(186). In the example of FIG. 8, image manipulation device 102A storesthe list of vertices for the graphic mesh to IMD 16 (188). In otherexamples, image manipulation device 102A may store the list of verticesfor the graphic mesh to programmer 14, in addition to or in thealternative to IMD 16. Image manipulation device 102A may also storedata indication the location of the lead of IMD 16 to IMD 16 (190).

In this manner, FIG. 8 represents an example of a method includingobtaining information representative of an anatomical feature of apatient, wherein the anatomical feature comprises a therapy target foran implantable medical device, determining graphics processing databased on the obtained information, wherein the graphics processing datacomprises data that, when applied during a rendering process, producesan image of the anatomical feature of the patient, and storing thegraphics processing data to a device that is not configured to performthe rendering process using the graphics processing data, wherein thedevice is associated with at least one of delivering therapy and sensinga physiological signal at the therapy target of the patient. In theexample of FIG. 8, the graphics processing data includes a list ofvertices for graphics primitives corresponding to a three-dimensionalmesh based on the information representative of the anatomical featureof the patient.

FIG. 9 is a flowchart illustrating an example method for creating andstoring one or more transforms to a device associated with at least oneof delivering therapy and sensing a physiological signal at a therapytarget of a patient. Although discussed with respect to the example ofimage manipulation device 102A for purposes of example, it should beunderstood that the method of FIG. 9 may be performed by other devices.For example, a clinician programmer, a patient programmer, a generalpurpose computer, or other device may be configured to perform themethod of FIG. 9. Moreover, certain steps of FIG. 9 may be omitted,performed in a different order or in parallel, and/or additional stepsmay be performed without departing from the techniques of thisdisclosure. Details of certain steps of FIG. 9 may conform substantiallyto similarly described steps of FIG. 7.

Initially, image manipulation device 102A may obtain image data of ananatomical feature of patient 12 (200). For example, as discussed abovewith respect to FIG. 7, image manipulation device 102A may receive imagedata from MRI unit 104. The image data may include an image of a lead orother therapy element of IMD 16. Using the image of the lead, imagemanipulation device 102A may determine a location of the lead in thetherapy target of patient 12 (202). 3D model generation unit 114 mayalso calculate a patient-specific model of an anatomical featureincluding the therapy target of patient 12 (204).

In this example, 3D model generation unit 114 may provide the patientspecific model to transform calculation unit 112. Transform calculationunit 112 may further retrieve data for atlas model 120A for theanatomical feature (206). However, whereas 3D model generation unit 114provides a patient-specific model of the anatomical feature, atlas model120A represents a non-patient-specific model of the anatomical feature.Transform calculation unit 112 may calculate one or more transforms thatcan be applied to transform atlas model 120A to a patient-specific modelthat is substantially similar to the patient-specific model receivedfrom 3D model generation unit 114 (208).

In this example, image manipulation device 102A may store the transformscalculated by transform calculation unit 112 to IMD 16 via telemetrymodule 126A (210). In addition, or in the alternative, imagemanipulation device 102A may store the transforms to programmer 14.Image manipulation device 102A may further store data indicating thelead location to IMD 16 and/or programmer 14 (212).

In this manner, FIG. 9 represents an example of a method includingobtaining information representative of an anatomical feature of apatient, wherein the anatomical feature comprises a therapy target foran implantable medical device, determining graphics processing databased on the obtained information, wherein the graphics processing datacomprises data that, when applied during a rendering process, producesan image of the anatomical feature of the patient, and storing thegraphics processing data to a device that is not configured to performthe rendering process using the graphics processing data, wherein thedevice is associated with at least one of delivering therapy and sensinga physiological signal at the therapy target of the patient. In theexample of FIG. 9, the graphics processing data includes one or moretransforms that are applied to an anatomical atlas representing ageneral model of the anatomical feature of the patient. In this example,applying the one or more transforms to the anatomical atlas yields apatient-specific model that substantially conforms to the informationrepresentative of the anatomical feature of the patient.

FIG. 10 is a flowchart illustrating an example method for retrievinggraphics processing data from a device associated with at least one ofdelivering therapy and sensing a physiological signal at a therapytarget of a patient and applying the graphics processing data during arendering process to produce an image of an anatomical feature of thepatient. Although discussed with respect to the example of imagemanipulation device 102A for purposes of example, it should beunderstood that the method of FIG. 10 may be performed by other devices.For example, a clinician programmer, a patient programmer (whenconfigured to perform a rendering process), a general purpose computer,or other device may be configured to perform the method of FIG. 10.Moreover, certain steps of FIG. 10 may be omitted, performed in adifferent order or in parallel, and/or additional steps may be performedwithout departing from the techniques of this disclosure.

Initially, image manipulation device 102A may retrieve graphicsprocessing data, such as a list of vertices or one or more transforms,from IMD 16 (220). In other examples, image manipulation device 102A mayretrieve the graphics processing data from a patient programmer, such asprogrammer 14. GPU 124A may then perform a rendering process using theretrieved graphics processing data to produce an image of thepatient-specific anatomical feature of patient 12 (222). For example,when the graphics processing data comprises a list of vertices, GPU 124Amay render a graphics object comprising graphics primitives defined bythe list of vertices to produce the image. When the graphics processingdata comprises one or more transforms, GPU 124A may apply the transformsto atlas model 120A to produce a patient-specific model, which GPU 124Amay render to produce the image.

During the rendering process, GPU 124A may also utilize data indicativeof a location of a lead (or other therapy element) of IMD 16 to displaya representation of the lead in the image (224). For example, thegraphics processing data may comprise data for a first graphics objectcorresponding to the patient-specific anatomical feature, and a secondgraphics object corresponding to the lead (or other therapy element).When performing the rendering process, GPU 124A may render both of thesegraphics objects to produce an image of the anatomical feature as wellas the lead (or other therapy element) of IMD 16.

In the example of FIG. 10, a clinician may review the image, in additionto other data, e.g., patient feedback data, to determine the location ofthe lead in the therapy target of patient 12. Based on the informationavailable, the clinician may determine whether IMD 16 should bereprogrammed, or whether IMD 16 should be configured to operateaccording to a different program already stored by IMD 16. Accordingly,image manipulation device 102A (which may, in this example, comprise aclinician programmer) may receive new IMD programming instructions(226), e.g., from the clinician, and download the new IMD programminginstructions to IMD 16 (228). Of course, if the clinician determinesthat no new programming instructions are needed, steps 226 and 228 maybe omitted.

In this manner, FIG. 10 represents an example of a method includingretrieving graphics processing data from a device that is not configuredto perform a rendering process using the graphics processing data,wherein the device is associated with at least one of delivering therapyand sensing a physiological signal at a therapy target of a patient,applying the graphics processing data while performing the renderingprocess to generate an image of an anatomical feature of the patient,wherein the anatomical feature comprises the therapy target for animplantable medical device, and displaying the image, wherein the imageof the anatomical feature is specific to the patient.

FIG. 11 is a flowchart illustrating an example method for retrieving andrendering a list of vertices of graphics primitives stored by a deviceassociated with at least one of delivering therapy and sensing aphysiological signal at a therapy target of a patient to produce animage of an anatomical feature of the patient. Although discussed withrespect to the example of image manipulation device 102C for purposes ofexample, it should be understood that the method of FIG. 11 may beperformed by other devices. For example, image manipulation device 102A,a clinician programmer, a patient programmer (when configured to performa rendering process), a general purpose computer, or other device may beconfigured to perform the method of FIG. 11. Moreover, certain steps ofFIG. 11 may be omitted, performed in a different order or in parallel,and/or additional steps may be performed without departing from thetechniques of this disclosure. Details of certain steps of FIG. 11 mayconform substantially to similarly described steps of FIG. 10.

In this example, image manipulation device 102C may retrieve a list ofvertices from IMD 16 (or in some examples, programmer 14) (240). Thelist of vertices may define one or more graphics primitives for agraphics object corresponding to a patient-specific model of ananatomical feature of patient 12. Accordingly, GPU 124C may render thegraphics primitives defined by the list of vertices to produce an imagespecific to the anatomical feature of patient 12 (242). Imagemanipulation unit 102C may also retrieve lead location data from IMD 16(244) and display a lead representation in the image (246).

Although illustrated as separate steps, it should be understood that, ingeneral, a graphics object representative of the lead and one or moregraphics objects representative of the patient-specific model of theanatomical feature may be rendered as part of the same renderingprocess. The steps in FIG. 11 are illustrated separately only forpurposes of example. Thus, the final image produced by the renderingprocess may include a representation of the patient-specific anatomicalfeature, as well as a representation of the lead (or, in other examples,other therapy elements, such as one or more leads or one or morecatheters).

In this manner, FIG. 11 represents an example of a method includingretrieving graphics processing data from a device that is not configuredto perform a rendering process using the graphics processing data,wherein the device is associated with at least one of delivering therapyand sensing a physiological signal at a therapy target of a patient,applying the graphics processing data while performing the renderingprocess to generate an image of an anatomical feature of the patient,wherein the anatomical feature comprises the therapy target for animplantable medical device, and displaying the image, wherein the imageof the anatomical feature is specific to the patient. In the example ofFIG. 11, the graphics processing data corresponds to a list of verticesfor graphics primitives corresponding to a three-dimensional graphicalmesh representative of the anatomical feature of the patient. The methodmay therefore include rendering the graphics primitives using the listof vertices to produce pixel data for the image representative of thegraphics primitives of the three-dimensional graphical mesh.

FIG. 12 is a flowchart illustrating an example method for retrieving oneor more transforms stored by a device associated with at least one ofdelivering therapy and sensing a physiological signal at a therapytarget of a patient and applying the matrices to warp an anatomicalatlas for an anatomical feature of the patient to produce apatient-specific image of the anatomical feature. Although discussedwith respect to the example of image manipulation device 102B forpurposes of example, it should be understood that the method of FIG. 12may be performed by other devices. For example, image manipulationdevice 102A, a clinician programmer, a patient programmer (whenconfigured to perform a rendering process), a general purpose computer,or other device may be configured to perform the method of FIG. 12.Moreover, certain steps of FIG. 12 may be omitted, performed in adifferent order or in parallel, and/or additional steps may be performedwithout departing from the techniques of this disclosure. Details ofcertain steps of FIG. 12 may conform substantially to similarlydescribed steps of FIG. 10.

In this example, image manipulation device 102B may retrieve one or moretransforms from IMD 16 (or in some examples, programmer 14) (260). GPU124B may retrieve data for atlas model 120B, which comprises anon-patient-specific anatomical atlas in this example (262). GPU 124Bmay apply the retrieved transforms to data for atlas model 120B to warpthe anatomical atlas to a patient-specific model (264). GPU 124B mayalso render the patient-specific model to produce a patient-specificmodel of the anatomical feature of patient 12 (266). Image manipulationunit 102B may also retrieve lead location data from IMD 16 (268) anddisplay a lead representation in the image (270). As discussed withrespect to the method of FIG. 11, it should be understood that, ingeneral, a graphics object representative of the lead and one or moregraphics objects representative of the patient-specific model of theanatomical feature may be rendered as part of the same renderingprocess, rather than as separate steps as illustrated in the example ofFIG. 12. Again, FIG. 12 provides separate steps for purpose ofexplanation.

In this manner, FIG. 12 represents an example of a method includingretrieving graphics processing data from a device that is not configuredto perform a rendering process using the graphics processing data,wherein the device is associated with at least one of delivering therapyand sensing a physiological signal at a therapy target of a patient,applying the graphics processing data while performing the renderingprocess to generate an image of an anatomical feature of the patient,wherein the anatomical feature comprises the therapy target for animplantable medical device, and displaying the image, wherein the imageof the anatomical feature is specific to the patient. In the example ofFIG. 12, the graphics processing data corresponds to one or moretransforms that, when applied to the anatomical atlas, produce apatient-specific model of the anatomical feature of the patient. Themethod may therefore include rendering the patient-specific model toproduce pixel data for the image representative of the patient-specificmodel.

FIG. 13 is a conceptual diagram illustrating an example graphical userinterface 300 displaying an example patient-specific image 302 of ananatomical feature 312 of patient 12. In this example, anatomicalfeature 312 corresponds to a portion of brain 28 of patient 12. Image302, in this example, also includes a graphical representation of a lead304. Lead 304 includes distal tip 308 implanted near therapy target 310.Dashed lines 306 (which would not necessarily be illustrated in image302) are representative of an angle of lead 304 relative to distal tip308 of lead 304. User interface 300 may be referred to as avisualization interface or a visualization programming interface for DBSprogramming.

User interface 300 also provides change program button 320 and modifyimage button 322. When a clinician or other user selects change programbutton 320 (e.g., using a mouse, a stylus, a finger (with a touchpaddevice), or other input mechanism), a computing device presenting userinterface 300 may provide a separate window (not shown) by which theuser may modify programming of IMD 16. Using this separate window, theuser may adjust various programming parameters of IMD 16, e.g., toselect a different program stored on IMD 16 or to define a new programfor IMD 16.

When a clinician or other user selects modify image button 322, acomputing device presenting user interface 300 may provide a separatewindow (not shown) by which the user may modify a view of anatomicalfeature 312 and lead 304. For example, the user may adjust cameraparameters (such as camera position and/or camera direction) relative toanatomical feature 312 and lead 304. A GPU of a computing devicepresenting user interface 300 may re-render data using the same graphicsprocessing data used to generate image 302 based on the new cameraparameters, to generate a second, different image of anatomical feature312 and lead 304.

As another example, the user may highlight various graphical objects ofimage 302 using, e.g., various colors, hide graphics objects of image302 (e.g., hide lead 304 or electrodes thereof, or other objects foranatomical feature 312 not of interest, e.g., to avoid occlusion), orotherwise manipulate the displayed image to gain a fuller appreciationof the idiosyncratic elements of anatomical feature 312 specific topatient 12, in order to better treat patient 12.

In still other examples, the separate window may allow the user toretrieve a second image of anatomical feature 312, e.g., an imagegenerated according to a second, different patient-specific model, whichmay have been created at a different time as the model used to generateimage 302. In this manner, the user may compare the two images todetermine changes to anatomical feature 312 and/or lead 304, e.g., todetect lead migration.

The techniques described in this disclosure may be implemented, at leastin part, in hardware, software, firmware or any combination thereof. Forexample, various aspects of the described techniques may be implementedwithin one or more processors, including one or more microprocessors,digital signal processors (DSPs), application specific integratedcircuits (ASICs), field programmable gate arrays (FPGAs), or any otherequivalent integrated or discrete logic circuitry, as well as anycombinations of such components. The term “processor” or “processingcircuitry” may generally refer to any of the foregoing logic circuitry,alone or in combination with other logic circuitry, or any otherequivalent circuitry. A control unit comprising hardware may alsoperform one or more of the techniques of this disclosure.

Such hardware, software, and firmware may be implemented within the samedevice or within separate devices to support the various operations andfunctions described in this disclosure. In addition, any of thedescribed units, modules or components may be implemented together orseparately as discrete but interoperable logic devices. Depiction ofdifferent features as modules or units is intended to highlightdifferent functional aspects and does not necessarily imply that suchmodules or units must be realized by separate hardware or softwarecomponents. Rather, functionality associated with one or more modules orunits may be performed by separate hardware or software components, orintegrated within common or separate hardware or software components.

The techniques described in this disclosure may also be embodied orencoded in a computer-readable medium, such as a computer-readablestorage medium, containing instructions. Instructions embedded orencoded in a computer-readable medium may cause a programmableprocessor, or other processor, to perform the method, e.g., when theinstructions are executed. Computer-readable media may includenon-transitory computer-readable storage media and transientcommunication media. Computer readable storage media, which is tangibleand non-transitory, may include random access memory (RAM), read onlymemory (ROM), programmable read only memory (PROM), erasableprogrammable read only memory (EPROM), electronically erasableprogrammable read only memory (EEPROM), flash memory, a hard disk, aCD-ROM, a floppy disk, a cassette, magnetic media, optical media, orother computer-readable storage media. It should be understood that theterm “computer-readable storage media” refers to physical storage media,and not signals, carrier waves, or other transient media.

Various examples have been described. These and other examples arewithin the scope of the following claims.

The invention claimed is:
 1. A device comprising: a telemetry moduleconfigured to retrieve graphics processing data from an implantablemedical device that is not configured to perform a rendering processusing the graphics processing data and that is configured to at leastone of deliver therapy and sense a physiological signal at a therapytarget of a patient; and a control unit, communicatively coupled to thetelemetry module, and configured to receive the graphics processing datafrom the telemetry module, apply the graphics processing data whileperforming the rendering process to generate an image of an anatomicalfeature of the patient, wherein the anatomical feature comprises thetherapy target for the implantable medical device, and to cause adisplay unit of a user interface to display the image, wherein the imageof the anatomical feature is specific to the patient.
 2. The device ofclaim 1, wherein the device from which the graphics processing data isretrieved comprises the implantable medical device.
 3. The device ofclaim 1, wherein the device from which the graphics processing data isretrieved comprises a patient programmer device associated with theimplantable medical device.
 4. The device of claim 1, wherein thegraphics processing data comprises a list of vertices for graphicsprimitives corresponding to a three-dimensional graphical meshrepresentative of the anatomical feature of the patient, and wherein thecontrol unit is configured to render the graphics primitives using thelist of vertices to produce pixel data for the image representative ofthe graphics primitives of the three-dimensional graphical mesh.
 5. Thedevice of claim 1, wherein the graphics processing data comprises one ormore transforms, and wherein to apply the graphics processing data, thecontrol unit is configured to obtain an anatomical atlas for theanatomical feature of the patient, wherein the anatomical atlascomprises a general model of the anatomical feature of the patient,apply the one or more transforms to the anatomical atlas to produce apatient-specific model of the anatomical feature of the patient, whereinthe patient-specific model comprises three-dimensional graphics data,and render the patient-specific model to produce pixel data for theimage representative of the patient-specific model.
 6. The device ofclaim 1, wherein the telemetry unit is configured to retrieveinformation representative of a location of a therapy element at thetherapy target from the device from which the graphics processing datawas retrieved, wherein the implantable medical device is coupled to thetherapy element and is configured to deliver therapy to the therapytarget via the therapy element, and wherein the control unit isconfigured to produce a representation of the therapy element in theimage such that the image includes the representation of the therapyelement at the location of the therapy target.
 7. The device of claim 6,wherein the therapy element comprises one of a lead and a catheter, andwherein the information representative of the location of the therapyelement comprises vertex data representative of a location of a distaltip of the therapy element from the device, an angle value for thetherapy element relative to the location of the distal tip; and anindication of at least one of an axial rotation and an orientation ofthe therapy element.
 8. The device of claim 6, wherein the therapyelement comprises a lead, and wherein the information representative ofthe location of the therapy element comprises vertex data representativeof centers of electrodes along the lead.
 9. A system comprising: animplantable medical device comprising a memory that stores graphicsprocessing data, wherein the implantable medical device is configured toat least one of deliver therapy and sense a physiological signal at atherapy target of a patient, and wherein the implantable medical deviceis not configured to perform a rendering process using the graphicsprocessing data; and an image manipulation device comprising: atelemetry module configured to retrieve the graphics processing datafrom the memory of the implantable medical device; and a control unit,communicatively coupled to the telemetry module, and configured toreceive the graphics processing data from the telemetry module, toperform the rendering process, to apply the graphics processing datawhile performing the rendering process to generate an image of ananatomical feature of the patient, wherein the anatomical featurecomprises the therapy target for the implantable medical device, and tocause a user interface of a display unit to display the image, whereinthe image of the anatomical feature is specific to the patient.